APNOutputs/ErdosProblems/erdos_846.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: Google DeepMind published the AlphaProof Nexus proof artifacts. The pinned repository identifies the mathematical sources and collaborators, including OEIS, Erdős Problems, Gergely Bérczi, and Mario Krenn; those source records remain the authority for individual credit.
Project sources: Pinned AlphaProof Nexus results documentation, AlphaProof Nexus paper, Pinned human-written natural-language proof companions
54 declarations, 0 contain sorry, 0 declared as axioms
Imports (1)
FormalConjectures.Util.ProblemImports
- def
Erdos846.NonTrilinearForWe say a subsetAof points in the plane isε-non-trilinear if any subsetBofA, contains a non-trilinear subsetCof size at leastε|B|line 50 sourceSource documentation
We say a subset
Aof points in the plane isε-non-trilinear if any subsetBofA, contains a non-trilinear subsetCof size at leastε|B|.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,EuclideanSpace,Real,Fin,OfNat.ofNat,NatProof uses:
Finset,HasSubset.Subset,Exists,And,LE.le,HMul.hMul,Finset.card,EuclideanGeometry.NonTrilinear,ENNReal32 instances, coercions and auxiliary constants left out.
def NonTrilinearFor (A : Set ℝ²) (ε : ℝ) : Prop := …
- def
Erdos846.WeaklyNonTrilinearWe say a subsetAof points in the plane is weakly non-trilinear if it is a finite union of non-trilinear sets line 56 sourceSource documentation
We say a subset
Aof points in the plane is weakly non-trilinear if it is a finite union of non-trilinear sets.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,EuclideanSpace,Real,Fin,OfNat.ofNat,NatProof uses:
Exists,Finset,And,Eq,SupSet.sSup,Membership.mem,EuclideanGeometry.NonTrilinear,ENNReal27 instances, coercions and auxiliary constants left out.
def WeaklyNonTrilinear (A : Set ℝ²) : Prop := …
- lemma
Erdos846.bipartite_max_cut_natline 96 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset,Prod,Nat,Membership.mem,LT.lt,Prod.fst,Prod.snd,Exists,GE.ge,HMul.hMul,OfNat.ofNat,Finset.card,Finset.filter,Or,And,NotProof uses:
Exists.elim,Set,upperBounds,Set.image,Set.Finite.bddAbove,Set.Finite.image,Finset.finite_toSet,Finset.bddAbove,dite,Finset.sum,Finset.powerset,Finset.range,HAdd.hAdd,ite,False,Eq,LE.le.not_gt,Eq.rec,LE.le,Finset.sum_le_sumand 77 more129 instances, coercions and auxiliary constants left out.
Tactic trace: 22 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.nontrilinear_of_no_collinear_triplesline 107 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset,EuclideanSpace,Real,Fin,OfNat.ofNat,Nat,Membership.mem,Ne,Not,Collinear,ENNReal,Insert.insert,Set,Singleton.singleton,EuclideanGeometry.NonTrilinear86 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
Erdos846.FormsTriangleline 113 sourceno axioms what this means
Statement uses:
Prod,NatProof uses:
Exists,And,LT.lt,Eq,Set,Insert.insert,Singleton.singleton,Prod.mk3 instances, coercions and auxiliary constants left out.
- lemma
Erdos846.bipartite_has_no_triangleline 117 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Finset,Nat,Prod,Membership.mem,Or,And,Prod.fst,Not,Prod.snd, Erdos846.FormsTriangleProof uses:
id,Eq.mpr,Set,setOf,Exists,LT.lt,Eq,Insert.insert,Singleton.singleton,Prod.mk,Iff,Eq.trans,congrArg,funext,forall_congr,congr,implies_congr,Eq.refl,absurd,Falseand 6 more14 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- def
Erdos846.IsGoodMapline 125 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,EuclideanSpace,Real,Fin,OfNat.ofNatProof uses:
And,LT.lt,Prod.fst,Prod.snd,Ne,Iff,Collinear,ENNReal,Insert.insert,Set,Singleton.singleton, Erdos846.FormsTriangle39 instances, coercions and auxiliary constants left out.
- lemma
Erdos846.elekes_identityline 132 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,HAdd.hAdd,HPow.hPow,Nat,OfNat.ofNat,HMul.hMul,Eq,HSub.hSubProof uses:
Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.add_pf_add_gt,Mathlib.Tactic.Ring.add_pf_add_zero,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_add,Mathlib.Tactic.Ring.neg_mul,Mathlib.Tactic.Ring.neg_one_mul,Mathlib.Meta.NormNum.IsInt.to_raw_eq,Mathlib.Meta.NormNum.isInt_muland 30 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
Erdos846.real_pointline 140 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,EuclideanSpace,Fin,OfNat.ofNat,NatProof uses:
Matrix.vecCons,Matrix.vecEmpty,Equiv,WithLp,ENNReal,Equiv.symm,WithLp.equiv10 instances, coercions and auxiliary constants left out.
- lemma
Erdos846.real_point_injline 144 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Eq,EuclideanSpace,Fin,OfNat.ofNat,Nat, Erdos846.real_point,AndProof uses:
of_eq_true,Eq.trans,True,congr,congrArg,id,Eq.mp,WithLp,ENNReal,WithLp.toLp,Matrix.vecCons,Matrix.vecEmpty,WithLp.toLp.injEq,Nat.succ,eq_self,and_true,and_self8 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.collinear_iff_det2line 148 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Iff,Collinear,EuclideanSpace,Fin,OfNat.ofNat,Nat,ENNReal,Insert.insert,Set, Erdos846.real_point,Singleton.singleton,Eq,HMul.hMul,HSub.hSubProof uses:
Eq.mpr,Exists,And,WithLp.toLp,Matrix.vecCons,Matrix.vecEmpty,HAdd.hAdd,HSMul.hSMul,id,Eq.rec,Eq.refl,Eq.trans,Membership.mem,HVAdd.hVAdd,DivisionRing,AddCommGroup,Module,AddTorsor,propext,collinear_iff_of_memand 146 more286 instances, coercions and auxiliary constants left out.
Tactic trace: 32 steps
Open to load the checked before-and-after goal states.
- def
Erdos846.t_seqline 170 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,RealProof uses:
Erdos846.t_seq.match_1,Unit,OfNat.ofNat,Nat.succ,HPow.hPow9 instances, coercions and auxiliary constants left out.
- lemma
Erdos846.t_seq_posline 174 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,GE.ge,Real, Erdos846.t_seq,OfNat.ofNatProof uses:
id,Nat.rec,Erdos846.t_seq.match_1,Unit,Nat.succ,HPow.hPow,le_rfl,LE.le.trans,le_self_pow₀,Mathlib.Tactic.LinearCombination.le_of_le,Mathlib.Tactic.LinearCombination.le_rearrange,HAdd.hAdd,Mathlib.Tactic.Ring.le_congr,HSub.hSub,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Nat.rawCast,HMul.hMul,Mathlib.Tactic.Ring.instCommSemiringNatand 39 more79 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_intline 178 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Exists,Int,Eq,Real, Erdos846.t_seqProof uses:
id,Nat.recAux,Erdos846.t_seq.match_1,Unit,OfNat.ofNat,Nat.succ,HPow.hPow,Exists.intro,Eq.refl,HAdd.hAdd,of_eq_true,Nat.brecOn.go,Nat.rec,PUnit,PProd,Eq.trans,True,congr,congrArg,Int.cast_powand 1 more25 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.abs_ge_one_of_intline 182 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Exists,Int,Eq,Ne,GE.ge,abs,HSub.hSub,OfNat.ofNatProof uses:
Exists.elim,Eq.rec,cast,LT.lt,Eq.trans,Nat,congrArg,Eq.symm,Nat.cast_zero,LE.le,Nat.cast_one,Int.cast_one,Iff.mpr,abs_sub_pos,Not,Aesop.BuiltinRules.not_intro,False,Eq.refl75 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_bound_linear_posline 185 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,GE.ge,OfNat.ofNat,LE.le,abs,HMul.hMul,Nat,HPow.hPow,GT.gt,HAdd.hAddProof uses:
lt_of_not_ge,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,HSub.hSub,Neg.neg,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.sub_congrand 66 more101 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_bound_linear_negline 189 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LE.le,Neg.neg,OfNat.ofNat,abs,HMul.hMul,Nat,HPow.hPow,GE.ge,LT.lt,HAdd.hAddProof uses:
lt_of_not_ge,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.pow_congrand 63 more98 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_strict_monoline 193 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
StrictMono,Nat,Real, Erdos846.t_seqProof uses:
id,strictMono_nat_of_lt_succ,Erdos846.t_seq.match_1,Unit,OfNat.ofNat,Nat.succ,HPow.hPow,lt_self_pow₀,Nat.rec,LT.lt,Mathlib.Meta.NormNum.isNat_lt_true,Nat.zero,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_one,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Bool,Bool.false,one_lt_pow₀,of_decide_eq_trueand 4 more38 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_bound_Aline 197 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,GE.ge,OfNat.ofNat,LE.le,abs,HMul.hMul,Nat,HPow.hPow,GT.gt,HAdd.hAddProof uses:
lt_of_not_ge,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,LT.lt,Neg.neg,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.neg_congrand 63 more120 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_bound_A_negline 202 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,LE.le,Neg.neg,OfNat.ofNat,abs,HMul.hMul,Nat,HPow.hPow,GE.ge,LT.lt,HAdd.hAddProof uses:
lt_of_not_ge,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Mathlib.Tactic.Ring.neg_congr,Nat.cast_one,Mathlib.Tactic.Ring.neg_addand 58 more119 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_sum_inj_of_ltline 207 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Or,And,Eq,Real,HAdd.hAdd, Erdos846.t_seqProof uses:
id,Nat.rec,OfNat.ofNat,HPow.hPow,Eq.mpr,Erdos846.t_seq.match_1,Unit,Nat.succ,eq_of_heq,LT,HEq,Eq.refl,HEq.refl,Eq.symm,congr_arg₂,rfl,Nat.zero,congr_arg,GT.gt,Mathlib.Meta.NormNum.isNat_lt_trueand 107 more118 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_sum_injline 219 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Prod,Prod.mk,Real,HAdd.hAdd, Erdos846.t_seqProof uses:
Or,Eq,lt_trichotomy, Erdos846.t_seq_sum_inj_of_lt,Or.inl,And,Not.intro,Mathlib.Tactic.Linarith.lt_irrefl,OfNat.ofNat,Eq.mp,HSub.hSub,Neg.neg,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,HMul.hMul,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCastand 40 more57 instances, coercions and auxiliary constants left out.
Tactic trace: 23 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_inj_sumline 237 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Prod,Prod.mk,Or,Real,HAdd.hAdd, Erdos846.t_seq,HPow.hPow,OfNat.ofNat,HMul.hMulProof uses:
Or.inl, Erdos846.t_seq_sum_inj18 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinear_p1line 243 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,HAdd.hAdd,HPow.hPow,Nat,OfNat.ofNat,HMul.hMul,Eq,HSub.hSubProof uses:
Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_add,Mathlib.Tactic.Ring.neg_mul,Mathlib.Tactic.Ring.neg_one_mul,Mathlib.Meta.NormNum.IsInt.to_raw_eq,Mathlib.Meta.NormNum.isInt_mul,Int.ofNat,Eq.refland 32 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinear_p2line 252 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,HAdd.hAdd,HPow.hPow,Nat,OfNat.ofNat,HMul.hMul,Eq,HSub.hSubProof uses:
Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_add,Mathlib.Tactic.Ring.neg_mul,Mathlib.Tactic.Ring.neg_one_mul,Mathlib.Meta.NormNum.IsInt.to_raw_eq,Mathlib.Meta.NormNum.isInt_mul,Int.ofNat,Eq.refland 30 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinear_p3line 261 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,HAdd.hAdd,HPow.hPow,Nat,OfNat.ofNat,HMul.hMul,Eq,HSub.hSubProof uses:
Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.add_pf_add_gt,Mathlib.Tactic.Ring.add_pf_add_zero,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_add,Mathlib.Tactic.Ring.neg_mul,Mathlib.Tactic.Ring.neg_one_mul,Mathlib.Meta.NormNum.IsInt.to_raw_eq,Mathlib.Meta.NormNum.isInt_muland 30 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.FormsTriangle_symm12line 270 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,Iff, Erdos846.FormsTriangleProof uses:
id,Iff.intro,Exists,And,LT.lt,Eq,Set,Insert.insert,Singleton.singleton,Prod.mk,Exists.intro,And.intro,Set.ext,Eq.mpr,Membership.mem,Or,congr,congrArg,Eq.trans,Iff.mprand 4 more9 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.FormsTriangle_symm23line 281 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,Iff, Erdos846.FormsTriangleProof uses:
id,Iff.intro,Exists,And,LT.lt,Eq,Set,Insert.insert,Singleton.singleton,Prod.mk,Exists.intro,And.intro,Set.ext,Eq.mpr,Membership.mem,Or,congr,congrArg,Eq.trans,Iff.mprand 4 more9 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.FormsTriangle_symm13line 292 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,Iff, Erdos846.FormsTriangleProof uses:
id,Iff.intro,Exists,And,LT.lt,Eq,Set,Insert.insert,Singleton.singleton,Prod.mk,Exists.intro,And.intro,Set.ext,Eq.mpr,Membership.mem,Or,congr,congrArg,Eq.trans,Iff.mprand 4 more9 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinear_case3line 303 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Real,HAdd.hAdd, Erdos846.t_seq,HPow.hPow,OfNat.ofNat,HMul.hMul,HSub.hSubProof uses:
Eq.mpr,Not,Eq,id,Eq.trans,congr,congrArg,add_sub_add_right_eq_sub,StrictMono,strictMono_nat_of_lt_succ,lt_self_pow₀,Erdos846.t_seq.match_1,Unit,Nat.succ,Nat.rec,Mathlib.Meta.NormNum.isNat_lt_true,Nat.zero,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_one,Eq.refland 70 more98 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.case1_sum_neqline 316 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Prod,Prod.mk,Real,HSub.hSub,HAdd.hAdd, Erdos846.t_seq,OfNat.ofNatProof uses:
Eq,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,HMul.hMul,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_addand 30 more63 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.case2_sum_neqline 324 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Not, Erdos846.FormsTriangle,Prod.mk,Real,HSub.hSub,HAdd.hAdd, Erdos846.t_seq,OfNat.ofNatProof uses:
Eq,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,Neg.neg,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,HMul.hMul,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.neg_congr,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_ltand 53 more71 instances, coercions and auxiliary constants left out.
Tactic trace: 30 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_le_of_leline 354 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LE.le,Real, Erdos846.t_seqProof uses:
StrictMono.monotone, Erdos846.t_seq_strict_mono5 instances, coercions and auxiliary constants left out.
- lemma
Erdos846.case1_boundsline 356 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Real,LE.le, Erdos846.t_seq,GE.ge,OfNat.ofNat,HAdd.hAdd,HPow.hPow,HMul.hMul,HSub.hSub,And,absProof uses:
And.intro,Iff.mpr,Neg.neg,abs_le,le_of_not_gt,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.cast_pos,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refland 68 more120 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.case2_boundsline 373 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Real,LE.le, Erdos846.t_seq,GE.ge,OfNat.ofNat,HAdd.hAdd,HPow.hPow,HMul.hMul,HSub.hSub,absProof uses:
Eq.mpr,Neg.neg,id,Eq,congr,congrArg,Eq.trans,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Int.rawCast,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_addand 85 more130 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinear_case2line 386 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Not, Erdos846.FormsTriangle,Prod.mk,Real,HAdd.hAdd, Erdos846.t_seq,HPow.hPow,OfNat.ofNat,HMul.hMul,HSub.hSubProof uses:
Eq,id,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_add,Mathlib.Tactic.Ring.neg_mul,Mathlib.Tactic.Ring.neg_one_mul,Mathlib.Meta.NormNum.IsInt.to_raw_eq,Mathlib.Meta.NormNum.isInt_muland 84 more134 instances, coercions and auxiliary constants left out.
Tactic trace: 65 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinear_case1line 445 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Prod,Prod.mk,Real,HAdd.hAdd, Erdos846.t_seq,HPow.hPow,OfNat.ofNat,HMul.hMul,HSub.hSubProof uses:
Eq,id,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNat,Mathlib.Tactic.Ring.sub_congr,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_pf_add_lt,Mathlib.Tactic.Ring.add_pf_zero_add,Mathlib.Tactic.Ring.sub_pf,Mathlib.Tactic.Ring.neg_add,Mathlib.Tactic.Ring.neg_mul,Mathlib.Tactic.Ring.neg_one_mul,Mathlib.Meta.NormNum.IsInt.to_raw_eq,Mathlib.Meta.NormNum.isInt_muland 85 more126 instances, coercions and auxiliary constants left out.
Tactic trace: 62 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinear_symm12line 500 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Prod,Prod.mk,Not, Erdos846.FormsTriangle,Real,HAdd.hAdd, Erdos846.t_seq,HPow.hPow,OfNat.ofNat,HMul.hMul,Iff,HSub.hSubProof uses:
Function.comp,Eq,Neg.neg,not_congr,Iff.symm,Iff.trans,Eq.mpr,id,congrArg,Eq.symm,neg_mul_neg,neg_sub,Iff.rfl,Iff.intro,Mathlib.Tactic.LinearCombination.eq_of_eq,Mathlib.Tactic.LinearCombination.eq_rearrange,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.sub_congr,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNatand 51 more67 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinear_symm23line 515 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Prod,Prod.mk,Not, Erdos846.FormsTriangle,Real,HAdd.hAdd, Erdos846.t_seq,HPow.hPow,OfNat.ofNat,HMul.hMul,Iff,HSub.hSubProof uses:
Iff.intro,Ne.symm22 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinear_n_maxline 531 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,LE.le,Ne,Prod,Prod.mk,Not, Erdos846.FormsTriangle,Real,HAdd.hAdd, Erdos846.t_seq,HPow.hPow,OfNat.ofNat,HMul.hMul,HSub.hSubProof uses:
Or,Eq,lt_trichotomy, Erdos846.t_seq_not_collinear_case1,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,Mathlib.Tactic.Linarith.lt_irrefl,Int,Eq.mp,Neg.neg,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.add_congr,Int.rawCast,Int.negOfNat,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.neg_congr,Mathlib.Tactic.Ring.cast_posand 46 more93 instances, coercions and auxiliary constants left out.
Tactic trace: 100 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.t_seq_not_collinearline 609 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Ne,Prod,Prod.mk,Not, Erdos846.FormsTriangle,Real,HAdd.hAdd, Erdos846.t_seq,HPow.hPow,OfNat.ofNat,HMul.hMul,HSub.hSubProof uses:
Or,And,LE.le,Decidable.byContradiction, Erdos846.t_seq_not_collinear_n_max,Iff.mpr, Erdos846.FormsTriangle_symm23,Ne.symm,Iff, Erdos846.t_seq_not_collinear_symm23, Erdos846.FormsTriangle_symm13,id,Eq,Neg.neg,Mathlib.Tactic.Ring.of_eq,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Int.rawCast,Int.negOfNatand 59 more79 instances, coercions and auxiliary constants left out.
Tactic trace: 41 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.triangle_is_collinearline 655 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,Real, Erdos846.FormsTriangle,Prod.mk,HAdd.hAdd,HPow.hPow,OfNat.ofNat,HMul.hMul,Eq,HSub.hSubProof uses:
id,Membership.mem,Set,setOf,Exists,And,LT.lt,Prod,Insert.insert,Singleton.singleton,Eq.mpr,congr,congrArg,add_assoc,Exists.elim,Iff,Or,Eq.mp,Eq.trans,funextand 15 more34 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.exists_good_tline 666 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Exists,Nat,Real,And,StrictMono,LT.lt,Ne,Prod,Prod.mk,Or,HAdd.hAdd,HPow.hPow,OfNat.ofNat,HMul.hMul,Iff,Eq,HSub.hSub, Erdos846.FormsTriangleProof uses:
Exists.intro, Erdos846.t_seq,And.intro, Erdos846.t_seq_strict_mono, Erdos846.t_seq_inj_sum,Iff.intro,Decidable.byContradiction,Not, Erdos846.t_seq_not_collinear, Erdos846.triangle_is_collinear27 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.exists_good_mapline 689 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Exists,Prod,Nat,EuclideanSpace,Real,Fin,OfNat.ofNat, Erdos846.IsGoodMapProof uses:
And,StrictMono,LT.lt,Ne,Prod.mk,Or,HAdd.hAdd,HPow.hPow,HMul.hMul,Iff,Eq,HSub.hSub, Erdos846.FormsTriangle, Erdos846.exists_good_t, Erdos846.real_point,Prod.fst,Prod.snd,Exists.intro,And.intro,Collinearand 14 more53 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
- def
Erdos846.A_setline 711 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,EuclideanSpace,Real,Fin,OfNat.ofNat,SetProof uses:
setOf,Exists,And,LT.lt,Eq,Prod.mk3 instances, coercions and auxiliary constants left out.
- lemma
Erdos846.A_set_infiniteline 714 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,EuclideanSpace,Real,Fin,OfNat.ofNat, Erdos846.IsGoodMap,Set.Infinite, Erdos846.A_setProof uses:
id,Set.infinite_of_injective_forall_mem,setOf,Exists,And,LT.lt,Eq,Prod.mk,Nat.succ,congr_arg,Prod.fst,by_contra,Not,And.left,Prod.snd,Ne,Iff,Collinear,ENNReal,Insert.insertand 7 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.A_set_nontrilinearline 718 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,EuclideanSpace,Real,Fin,OfNat.ofNat, Erdos846.IsGoodMap, Erdos846.NonTrilinearFor, Erdos846.A_set,HDiv.hDivProof uses:
Finset,HasSubset.Subset,Set,LT.lt,Prod.fst,Prod.snd,Eq,Decidable.byContradiction,Not,Ne,And.left,Iff,Collinear,ENNReal,Insert.insert,Singleton.singleton, Erdos846.FormsTriangle,Exists,And,Membership.memand 114 more150 instances, coercions and auxiliary constants left out.
Tactic trace: 69 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.weakly_nontrilinear_coloringline 774 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Set,EuclideanSpace,Real,Fin,OfNat.ofNat,Nat, Erdos846.WeaklyNonTrilinear,Exists,And,Membership.mem,LT.lt,Ne,Eq,Not,Collinear,ENNReal,Insert.insert,Singleton.singletonProof uses:
Finset,SupSet.sSup,EuclideanGeometry.NonTrilinear,List,Finset.toList,List.length,List.findIdx,Decidable.decide,Exists.intro,And.intro,Eq.symm,Iff.mpr,Bool,Bool.true,List.findIdx_lt_length,of_eq_true,Eq.trans,True,congr,congrArgand 27 more108 instances, coercions and auxiliary constants left out.
Tactic trace: 35 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.ramsey_sequenceline 804 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,LT.lt,Exists,And,StrictMono,Eq,Prod.mkProof uses:
Set.Finite.exists_lt_map_eq_of_forall_mem,setOf,Set.finite_lt_nat,Exists.elim,Membership.mem,Set,Set.Icc,OfNat.ofNat,Filter.Tendsto,Function.comp,Filter.atTop,nhds,IsCompact.tendsto_subseq,isCompact_pi_infinite,CompactIccSpace.isCompact_Icc,And.intro,LE.le,zero_le,le_of_lt,Eq.mprand 34 more70 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.pidgeonhole_3line 817 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,LT.lt,Exists,And,EqProof uses:
Eq.mpr,id,congrArg,funext,Exists.elim,Membership.mem,Set,setOf,StrictMono,Filter.Tendsto,Function.comp,Filter.atTop,nhds,IsCompact.isSeqCompact,Set.Finite.isCompact,Set.finite_lt_nat,Filter.Eventually,forall_congr,Eq.trans,implies_congrand 16 more26 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.ramsey_for_trianglesline 824 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,LT.lt,Exists,And,Eq,Prod.mkProof uses:
StrictMono, Erdos846.ramsey_sequence,HAdd.hAdd,OfNat.ofNat,Decidable.byContradiction,Not,Eq.mpr,id,congrArg,Eq.symm, Erdos846.pidgeonhole_3,Exists.intro,lt_trans,And.intro10 instances, coercions and auxiliary constants left out.
Tactic trace: 26 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.A_set_not_weaklyline 850 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Prod,Nat,EuclideanSpace,Real,Fin,OfNat.ofNat, Erdos846.IsGoodMap,Not, Erdos846.WeaklyNonTrilinear, Erdos846.A_setProof uses:
Exists,And,Membership.mem,Set,LT.lt,Ne,Eq,Collinear,ENNReal,Insert.insert,Singleton.singleton, Erdos846.weakly_nontrilinear_coloring,False,dite,Prod.fst,Prod.snd,HAdd.hAdd,id,ite,Eq.mprand 20 more57 instances, coercions and auxiliary constants left out.
Tactic trace: 63 steps
Open to load the checked before-and-after goal states.
- lemma
Erdos846.target_falseline 897 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Not,Set,EuclideanSpace,Real,Fin,OfNat.ofNat,Nat,GT.gt,Set.Infinite, Erdos846.NonTrilinearFor, Erdos846.WeaklyNonTrilinearProof uses:
Exists,Prod, Erdos846.IsGoodMap, Erdos846.exists_good_map,False, Erdos846.A_set, Erdos846.A_set_infinite,HDiv.hDiv, Erdos846.A_set_nontrilinear,Mathlib.Meta.NormNum.isNNRat_lt_true,Mathlib.Meta.NormNum.IsNat.to_isNNRat,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_zero,Mathlib.Meta.NormNum.isNNRat_div,Mathlib.Meta.NormNum.isNNRat_mul,HMul.hMul,Inv.inv,Eq.refl,Nat.cast_one,Mathlib.Meta.NormNum.isNNRat_inv_posand 5 more49 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- theorem
Erdos846.target_theorem_0Erdős problem 846: robustly non-collinear sets need not split into finitely many general-position sets line 909 sourceL4DEL explanation
Three points in A are collinear if and only if their corresponding edges form a triangle in K∞.
A cannot be separated into finitely many subsets such that each subset has no three points collinear
The asserted implication is false. An infinite planar set can have the property that every finite subset contains a line-free subset of at least half its size, yet the whole set is not a finite union of sets with no three collinear.
- Map each edge of the countably infinite complete graph to a planar point using a rapidly growing algebraic parametrization.
- The construction makes three image points collinear exactly when their three edges form a triangle.
- Triangle-free subgraphs supply large non-collinear subsets, while finite colourings of the complete graph force a monochromatic triangle and rule out any finite decomposition.
Sources and attribution: Pinned Lean source (0647711a7118), Human-written proof companion for Erdős 846, Erdős Problems 846 source record, Moe Putterman, Mehtaab Sawhney, and Gregory Valiant (2026), arXiv v1 abstract
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Iff,False,Set,EuclideanSpace,Real,Fin,OfNat.ofNat,Nat,GT.gt,Set.Infinite, Erdos846.NonTrilinearFor, Erdos846.WeaklyNonTrilinearProof uses:
Iff.intro,False.elim,Not, Erdos846.target_false8 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
theorem target_theorem_0 : answer( -- EVOLVE-VALUE-START False -- EVOLVE-VALUE-END ) ↔ ∀ᵉ (A : Set ℝ²) (ε > 0), A.Infinite → NonTrilinearFor A ε → WeaklyNonTrilinear A := by …
Mentions: Erdos846.NonTrilinearFor, Erdos846.WeaklyNonTrilinear