FormalConjecturesForMathlib/Combinatorics/SetFamily/VCDim.lean

GitHub source file

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 project documentation, Formal Conjectures paper, arXiv v1

16 declarations, 0 contain sorry, 0 declared as axioms

VC dimension of a set family

This file defines the VC dimension of a set family as the maximum size of a set it shatters.

Imports (1)
Imported by 2 files
  1. def Shatters A set family π’œ shatters a set A if restricting π’œ to A gives rise to all subsets of A line 33 source

    Source documentation

    A set family π’œ shatters a set A if restricting π’œ to A gives rise to all subsets of A.

    no axioms what this means

    Statement uses: Set

    Proof uses: LE.le, Exists, And, Membership.mem, Eq, Inter.inter

    3 instances, coercions and auxiliary constants left out.

    def Shatters : Prop := βˆ€ ⦃B⦄, B βŠ† A β†’ βˆƒ C ∈ π’œ, A ∩ C = B
  2. lemma Shatters.exists_inter_eq_singleton line 35 source

    no axioms what this means

    Statement uses: Set, Shatters, Membership.mem, Exists, And, Eq, Inter.inter, Singleton.singleton

    Proof uses: Iff.mpr, LE.le, Set.singleton_subset_iff

    6 instances, coercions and auxiliary constants left out.

  3. lemma Shatters.mono_left line 38 source

    no axioms what this means

    Statement uses: Set, LE.le, Shatters

    Proof uses: Exists, And, Membership.mem, Eq, Inter.inter, Exists.intro, And.intro

    5 instances, coercions and auxiliary constants left out.

  4. lemma Shatters.mono_right line 41 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Set, LE.le, Shatters

    Proof uses: And, Membership.mem, Eq, Inter.inter, Exists, LE.le.trans, Exists.intro, And.intro, inf_congr_right, inf_le_of_left_le

    16 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  5. lemma Shatters.exists_superset line 44 source

    standard axioms: Quot.sound, propext what this means

    Statement uses: Set, Shatters, Exists, And, Membership.mem, LE.le

    Proof uses: Eq, Inter.inter, Set.Subset.rfl, Exists.intro, And.intro, Iff.mp, Set.inter_eq_left

    6 instances, coercions and auxiliary constants left out.

  6. lemma Shatters.of_forall_subset line 47 source

    standard axioms: Quot.sound, propext what this means

    Statement uses: Set, LE.le, Membership.mem, Shatters

    Proof uses: Exists.intro, And, Eq, Inter.inter, And.intro, Iff.mpr, Set.inter_eq_right

    5 instances, coercions and auxiliary constants left out.

  7. lemma Shatters.nonempty line 50 source

    no axioms what this means

    Statement uses: Set, Shatters, Set.Nonempty

    Proof uses: Exists, And, Membership.mem, Eq, Inter.inter, Set.Subset.rfl, Exists.intro

    3 instances, coercions and auxiliary constants left out.

  8. lemma shatters_empty line 53 source

    standard axioms: Quot.sound, propext what this means

    Statement uses: Set, Iff, Shatters, EmptyCollection.emptyCollection, Set.Nonempty

    Proof uses: Iff.intro, Shatters.nonempty, LE.le, Exists, And, Membership.mem, Eq, Inter.inter, Exists.intro, And.intro, Eq.mpr, id, Eq.trans, congrFun', congrArg, Set.empty_inter, Eq.mp

    8 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  9. lemma Shatters.subset_iff line 56 source

    no axioms what this means

    Statement uses: Set, Shatters, Iff, LE.le, Exists, And, Membership.mem, Eq, Inter.inter

    Proof uses: Iff.intro, Set.inter_subset_left

    9 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  10. lemma shatters_iff line 59 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Set, Iff, Shatters, Eq, Set.image, Inter.inter, Set.powerset

    Proof uses: Iff.intro, Set.ext, of_eq_true, Membership.mem, Eq.trans, Exists, And, True, congr, congrArg, LE.le, propext, Shatters.subset_iff, iff_self, Eq.superset

    13 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

  11. lemma univ_shatters line 62 source

    standard axioms: Quot.sound, propext what this means

    Statement uses: Set, Shatters, Set.univ

    Proof uses: Shatters.of_forall_subset, of_eq_true, LE.le, Membership.mem, Eq.trans, True, forall_congr, implies_congr, Eq.refl, implies_true

    3 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  12. lemma shatters_univ line 64 source

    standard axioms: Quot.sound, propext what this means

    Statement uses: Set, Iff, Shatters, Set.univ, Eq

    Proof uses: of_eq_true, Eq.trans, Membership.mem, True, congr, congrArg, forall_congr, LE.le, Exists, And, Inter.inter, implies_congr, funext, congrFun', Set.univ_inter, iff_self

    9 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  13. def HasVCDimAtMost Documented declaration: HasVCDimAtMost line 71 source

    Source documentation

    A set family π’œ has VC dimension at most d if there are no families x of elements indexed by [d + 1] and A of sets of π’œ indexed by 2^[d + 1] such that x i ∈ A s ↔ i ∈ s for all i ∈ [d + 1], s βŠ† [d + 1].

    no axioms what this means

    Statement uses: Set, Nat

    Proof uses: Fin, HAdd.hAdd, OfNat.ofNat, Membership.mem, Not, Iff

    4 instances, coercions and auxiliary constants left out.

    def HasVCDimAtMost : Prop :=
    …
  14. lemma HasVCDimAtMost.anti line 75 source

    no axioms what this means

    Statement uses: Set, Nat, LE.le, HasVCDimAtMost

    Proof uses: Fin, HAdd.hAdd, OfNat.ofNat, Membership.mem

    6 instances, coercions and auxiliary constants left out.

  15. lemma HasVCDimAtMost.mono line 78 source

    standard axioms: Quot.sound, propext what this means

    Statement uses: Set, Nat, LE.le, HasVCDimAtMost

    Proof uses: Fin, HAdd.hAdd, OfNat.ofNat, Membership.mem, Iff, Decidable.byContradiction, Not, Function.comp, Fin.castLE, Set.image, of_eq_true, Eq.trans, True, forall_congr, eq_true, implies_true, Iff.trans, congrFun', congrArg, Exists and 4 more

    11 instances, coercions and auxiliary constants left out.

    Tactic trace: 6 steps

    Open to load the checked before-and-after goal states.

  16. lemma HasVCDimAtMost.empty line 84 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, HasVCDimAtMost, EmptyCollection.emptyCollection, Set

    Proof uses: of_eq_true, Fin, HAdd.hAdd, OfNat.ofNat, Membership.mem, Not, Iff, Eq.trans, True, forall_congr, False, Exists, implies_congr, congrArg, funext, implies_true

    13 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.