@[simp]
Equations
- instDecidableMem2 x y = inferInstance
Equations
- instDecidableEqLine = inferInstance
Equations
- Line.apply l p = { val := Submodule.map ↑p ↑l, property := ⋯ }
Instances For
Equations
- Submodule.pair i j = Submodule.span α {(i.1, i.2, 1), (j.1, j.2, 1)}
Instances For
noncomputable def
Submodule.pair_basis
{α : Type u_1}
[Field α]
(i : α × α)
(j : α × α)
(h : i ≠ j)
:
Basis (Fin 2) α ↥(Submodule.pair i j)
Equations
- Submodule.pair_basis i j h = let_fun this := Basis.span ⋯; Basis.map this (LinearEquiv.ofEq (Submodule.span α (Set.range ![(i.1, i.2, 1), (j.1, j.2, 1)])) (Submodule.pair i j) ⋯)
Instances For
theorem
repr_pair_basis_first'
{α : Type u_1}
[Field α]
(i : α × α)
(j : α × α)
(h : i ≠ j)
:
(Submodule.pair_basis i j h) 0 = { val := (i.1, i.2, 1), property := ⋯ }
theorem
repr_pair_basis_first
{α : Type u_1}
[Field α]
(i : α × α)
(j : α × α)
(h : i ≠ j)
:
(Submodule.pair_basis i j h).repr { val := (i.1, i.2, 1), property := ⋯ } = Finsupp.single 0 1
theorem
repr_pair_basis_second'
{α : Type u_1}
[Field α]
(i : α × α)
(j : α × α)
(h : i ≠ j)
:
(Submodule.pair_basis i j h) 1 = { val := (j.1, j.2, 1), property := ⋯ }
theorem
repr_pair_basis_second
{α : Type u_1}
[Field α]
(i : α × α)
(j : α × α)
(h : i ≠ j)
:
(Submodule.pair_basis i j h).repr { val := (j.1, j.2, 1), property := ⋯ } = Finsupp.single 1 1
Equations
- Submodule.infinity α = Submodule.span α {(1, 0, 0), (0, 1, 0)}
Instances For
noncomputable def
Submodule.infinity_basis
(α : Type u_2)
[Field α]
:
Basis (Fin 2) α ↥(Submodule.infinity α)
Equations
- Submodule.infinity_basis α = let_fun this := Basis.span ⋯; Basis.map this (LinearEquiv.ofEq (Submodule.span α (Set.range ![(1, 0, 0), (0, 1, 0)])) (Submodule.infinity α) ⋯)
Instances For
theorem
infinity_mem
{α : Type u_1}
[Field α]
(x : α × α × α)
:
x ∈ ↑(Submodule.infinity α) ↔ x.2.2 = 0
theorem
infinity_first
{α : Type u_1}
[Field α]
:
(Submodule.infinity_basis α) 0 = { val := (1, 0, 0), property := ⋯ }
theorem
infinity_second
{α : Type u_1}
[Field α]
:
(Submodule.infinity_basis α) 1 = { val := (0, 1, 0), property := ⋯ }
Equations
- Line.infinity α = { val := Submodule.infinity α, property := ⋯ }
Instances For
Equations
- Line.horiz l = ((1, 0, 0) ∈ ↑l)
Instances For
theorem
Line.horiz_constant
{α : Type u_1}
[Field α]
[DecidableEq α]
(l : Line α)
(x : α × α)
(y : α × α)
(h : x ∈ l)
(h₂ : y ∈ l)
(hor : Line.horiz l)
:
x.2 = y.2
Equations
- Line.of_equation a b = Line.of (0, b) (1, a + b) ⋯
Instances For
theorem
Line.uncurry_of_equation_injective
{α : Type u_1}
[Field α]
:
Function.Injective (Function.uncurry Line.of_equation)
Equations
- IntersectionsP P L = Finset.filter (fun (x : α × α) => x ∈ L) P
Instances For
Equations
- IntersectionsL P L = Finset.filter (fun (x : Line α) => P ∈ x) L
Instances For
theorem
IntP_subset_of_subset
{α : Type u_1}
[Field α]
{P₁ : Finset (α × α)}
{P₂ : Finset (α × α)}
{l : Line α}
(h : P₁ ⊆ P₂)
:
IntersectionsP P₁ l ⊆ IntersectionsP P₂ l
@[simp]
theorem
IntersectionsP_sum
{α : Type u_1}
[Field α]
(P : Finset (α × α))
(L : Finset (Line α))
:
(Intersections P L).card = Finset.sum L fun (y : Line α) => (IntersectionsP P y).card
theorem
IntersectionsL_sum
{α : Type u_1}
[Field α]
(P : Finset (α × α))
(L : Finset (Line α))
:
(Intersections P L).card = Finset.sum P fun (y : α × α) => (IntersectionsL y L).card