Compfiles/Imo2007P3.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: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned compfiles documentation, Pinned compfiles corpus index
14 declarations, 0 contain sorry, 0 declared as axioms
International Mathematical Olympiad 2007, Problem 3
In a mathematical competition some competitors are (mutual) friends. Call a group of competitors a clique if each two of them are friends. Given that the largest size of a clique is even, prove that the competitors can be arranged into two rooms such that the largest size of a clique contained in one room is the same as the largest size of a clique contained in the other room.
Imported by 1 file
- def
Imo2007P3.maxCliqueCardThe largest size of a clique of the graphGall of whose vertices lie inAline 32 sourceSource documentation
The largest size of a clique of the graph
Gall of whose vertices lie inA.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,NatProof uses:
SupSet.sSup,Set.ofPred,Exists,And,LE.le,SimpleGraph.IsClique,Eq,Finset.card6 instances, coercions and auxiliary constants left out.
noncomputable def maxCliqueCard {V : Type*} (G : SimpleGraph V) (A : Finset V) : ℕ := … - lemma
Imo2007P3.bddAbove_cliqueCardline 41 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,BddAbove,Nat,Set.ofPred,Exists,And,LE.le,SimpleGraph.IsClique,Eq,Finset.cardProof uses:
Exists.intro,Membership.mem,Set,upperBounds,Finset.card_le_card16 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2007P3.nonempty_cliqueCardline 47 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,Set.Nonempty,Nat,Set.ofPred,Exists,And,LE.le,SimpleGraph.IsClique,Eq,Finset.cardProof uses:
Exists.intro,Membership.mem,Set,OfNat.ofNat,EmptyCollection.emptyCollection,And.intro,Finset.empty_subset,Eq.mpr,id,congrArg,Finset.coe_empty,Set.pairwise_empty,SimpleGraph.Adj,Finset.card_empty14 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2007P3.card_le_maxCliqueCardline 52 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,LE.le,SimpleGraph.IsClique,Nat,Finset.card, Imo2007P3.maxCliqueCardProof uses:
le_csSup,Set.ofPred,Exists,And,Eq, Imo2007P3.bddAbove_cliqueCard,Exists.intro,And.intro,rfl14 instances, coercions and auxiliary constants left out.
- lemma
Imo2007P3.maxCliqueCard_leline 56 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,Nat,LE.le,SimpleGraph.IsClique,Finset.card, Imo2007P3.maxCliqueCardProof uses:
csSup_le,Set.ofPred,Exists,And,Eq, Imo2007P3.nonempty_cliqueCard,Membership.mem,Set22 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2007P3.maxCliqueCard_le_cardline 63 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,LE.le,Nat, Imo2007P3.maxCliqueCard,Finset.cardProof uses: Imo2007P3.maxCliqueCard_le,
SimpleGraph.IsClique,Finset.card_le_card6 instances, coercions and auxiliary constants left out.
- lemma
Imo2007P3.maxCliqueCard_eq_card_of_isCliqueline 66 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,SimpleGraph.IsClique,Eq,Nat, Imo2007P3.maxCliqueCard,Finset.cardProof uses:
le_antisymm, Imo2007P3.maxCliqueCard_le_card, Imo2007P3.card_le_maxCliqueCard,Finset.Subset.refl5 instances, coercions and auxiliary constants left out.
- lemma
Imo2007P3.maxCliqueCard_monoline 70 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,LE.le,Nat, Imo2007P3.maxCliqueCardProof uses: Imo2007P3.maxCliqueCard_le,
SimpleGraph.IsClique, Imo2007P3.card_le_maxCliqueCard,LE.le.trans9 instances, coercions and auxiliary constants left out.
- lemma
Imo2007P3.isClique_of_subsetline 74 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,LE.le,SimpleGraph.IsCliqueProof uses:
SimpleGraph.IsClique.subset,Iff.mpr,Set,Finset.coe_subset11 instances, coercions and auxiliary constants left out.
- lemma
Imo2007P3.isClique_unionline 78 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,SimpleGraph.IsClique,Membership.mem,Ne,SimpleGraph.Adj,Union.union,SetProof uses:
Or,Eq.mp,congrArg,propext,Set.mem_union,SimpleGraph.Adj.symm,Ne.symm10 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2007P3.maxCliqueCard_insert_leline 88 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,DecidableEq,Finset,LE.le,Nat, Imo2007P3.maxCliqueCard,Insert.insert,HAdd.hAdd,OfNat.ofNatProof uses: Imo2007P3.maxCliqueCard_le,
SimpleGraph.IsClique,dite,Finset.card,Membership.mem,Finset.erase,Iff.mp,Finset.subset_insert_iff, Imo2007P3.card_le_maxCliqueCard, Imo2007P3.isClique_of_subset,Finset.erase_subset,Eq,Eq.symm,Finset.card_erase_add_one,Not,Finset.subset_insert_iff_of_notMem,LE.le.trans20 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2007P3.maxCliqueCard_erase_leline 100 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,DecidableEq,Finset,LE.le,Nat, Imo2007P3.maxCliqueCard,HAdd.hAdd,Finset.erase,OfNat.ofNatProof uses:
dite,Membership.mem,Insert.insert, Imo2007P3.maxCliqueCard_insert_le,Eq.mp,congrArg,Finset.insert_erase,Not,Eq.mpr,id,Eq,Finset.erase_eq_of_notMem13 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
Imo2007P3.exists_isClique_card_eqline 108 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
SimpleGraph,Finset,Exists,And,LE.le,SimpleGraph.IsClique,Eq,Nat,Finset.card, Imo2007P3.maxCliqueCardProof uses:
SupSet.sSup,Set.ofPred,Membership.mem,Set,Nat.sSup_mem, Imo2007P3.nonempty_cliqueCard, Imo2007P3.bddAbove_cliqueCard,Exists.intro,And.intro14 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- problem
Imo2007P3.imo2007_p3line 117 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Fintype,DecidableEq,SimpleGraph,Even,Nat, Imo2007P3.maxCliqueCard,Finset.univ,Exists,Finset,And,Disjoint,Eq,Union.unionProof uses:
HAdd.hAdd,LE.le,SimpleGraph.IsClique,Finset.card, Imo2007P3.exists_isClique_card_eq,HMul.hMul,OfNat.ofNat,Eq.trans,Eq.mp,congrArg,Eq.symm,Nat.two_mul,SDiff.sdiff,Compl.compl,Finset.exists_subset_card_eq,Exists.intro,And.intro, Imo2007P3.maxCliqueCard_eq_card_of_isClique, Imo2007P3.isClique_of_subset,Finset.sdiff_subsetand 91 more80 instances, coercions and auxiliary constants left out.
Tactic trace: 290 steps (first 200 of 290)
Open to load the checked before-and-after goal states.