OAI/SetTheory/PartitionConsistency/Forcing/ForcingNames.lean

GitHub source file

82 declarations, 0 contain sorry, 0 declared as axioms

  1. def OAI.PartitionConsistency.SetForcingNames.Child line 13

    Source documentation

    The subname relation on literal set codes. The second component of an edge is a forcing condition; the first component is a name for a potential member.

    def Child (τ σ : ZFSet.{u}) : Prop := ∃ p, ZFSet.pair τ p ∈ σ
  2. theorem OAI.PartitionConsistency.SetForcingNames.child_wf line 15
  3. def OAI.PartitionConsistency.SetForcingNames.Edges line 25

    Source documentation

    Edges of a set name, with no choice of a presentation of that set.

    def Edges (σ : ZFSet.{u}) := {e : ZFSet.{u} × ZFSet.{u} // ZFSet.pair e.1 e.2 ∈ σ}
  4. instance OAI.PartitionConsistency.SetForcingNames.(instance at line 27) line 27
  5. def OAI.PartitionConsistency.SetForcingNames.IsName line 37

    Source documentation

    Well-formed set-forcing names. This is the usual hereditary recursive condition on sets of pairs, not a predicate on their interpreted values.

    def IsName (P : Set ZFSet.{u}) : ZFSet.{u} → Prop :=
    …
  6. theorem OAI.PartitionConsistency.SetForcingNames.isName_iff line 42
  7. theorem OAI.PartitionConsistency.SetForcingNames.IsName.intro line 48
  8. theorem OAI.PartitionConsistency.SetForcingNames.IsName.edges line 58
  9. theorem OAI.PartitionConsistency.SetForcingNames.IsName.child line 64
  10. theorem OAI.PartitionConsistency.SetForcingNames.IsName.condition line 68
  11. theorem OAI.PartitionConsistency.SetForcingNames.isName_empty line 72
  12. def OAI.PartitionConsistency.SetForcingNames.evaluate line 77

    Source documentation

    Interpretation of actual set-name codes. At no point is the forcing order or a maximum principle used in this recursion.

    noncomputable def evaluate (G : Set ZFSet.{u}) : ZFSet.{u} → ZFSet.{u} :=
    …
  13. theorem OAI.PartitionConsistency.SetForcingNames.evaluate_eq line 81
  14. theorem OAI.PartitionConsistency.SetForcingNames.mem_evaluate_iff line 86
  15. def OAI.PartitionConsistency.SetForcingNames.mapConditions line 96

    Source documentation

    Recursive transport of names by a map on condition codes.

    noncomputable def mapConditions (f : ZFSet.{u} → ZFSet.{u}) : ZFSet.{u} → ZFSet.{u} :=
    …
  16. theorem OAI.PartitionConsistency.SetForcingNames.mapConditions_eq line 100
  17. theorem OAI.PartitionConsistency.SetForcingNames.mem_mapConditions_iff line 106
  18. theorem OAI.PartitionConsistency.SetForcingNames.edge_mapConditions_iff line 116
  19. theorem OAI.PartitionConsistency.SetForcingNames.evaluate_empty line 121
  20. theorem OAI.PartitionConsistency.SetForcingNames.mapConditions_empty line 125
  21. theorem OAI.PartitionConsistency.SetForcingNames.mapConditions_id line 130
  22. theorem OAI.PartitionConsistency.SetForcingNames.mapConditions_comp line 143
  23. theorem OAI.PartitionConsistency.SetForcingNames.IsName.mapConditions line 158
  24. theorem OAI.PartitionConsistency.SetForcingNames.evaluate_mapConditions line 169

    Source documentation

    Covariance holds with the filter transformed as well; this is not a claim that moving a name gives an automorphism of one fixed transitive extension.

    theorem evaluate_mapConditions (f : ZFSet.{u} → ZFSet.{u}) (G : Set ZFSet.{u})
        (σ : ZFSet.{u}) : evaluate G (mapConditions f σ) = evaluate (f ⁻¹' G) σ := by
    …

    Mentions: OAI.PartitionConsistency.SetForcingNames.evaluate, OAI.PartitionConsistency.SetForcingNames.mapConditions

  25. def OAI.PartitionConsistency.SetForcingNames.checkName line 186

    Source documentation

    The canonical name for a ground set, using the condition t. In applications t is the largest condition.

    noncomputable def checkName (t : ZFSet.{u}) : ZFSet.{u} → ZFSet.{u} :=
    …
  26. theorem OAI.PartitionConsistency.SetForcingNames.checkName_eq line 189
  27. theorem OAI.PartitionConsistency.SetForcingNames.mem_checkName_iff line 194
  28. theorem OAI.PartitionConsistency.SetForcingNames.edge_checkName_iff line 199
  29. theorem OAI.PartitionConsistency.SetForcingNames.checkName_isName line 203
  30. theorem OAI.PartitionConsistency.SetForcingNames.evaluate_checkName line 211
  31. theorem OAI.PartitionConsistency.SetForcingNames.mapConditions_checkName line 225
  32. def OAI.PartitionConsistency.SetForcingNames.pairName line 240

    Source documentation

    A literal pairing name.

    def pairName (t σ τ : ZFSet.{u}) : ZFSet.{u} := {ZFSet.pair σ t, ZFSet.pair τ t}
  33. theorem OAI.PartitionConsistency.SetForcingNames.pairName_isName line 242
  34. theorem OAI.PartitionConsistency.SetForcingNames.edge_pairName_iff line 250
  35. theorem OAI.PartitionConsistency.SetForcingNames.evaluate_pairName line 254
  36. theorem OAI.PartitionConsistency.SetForcingNames.mapConditions_pairName line 267
  37. def OAI.PartitionConsistency.SetForcingNames.UnionEdges line 283

    Source documentation

    A small type indexing the three conditions used by the union-name construction: the two existing edge conditions and their common strengthening.

    def UnionEdges (P : ZFSet.{u}) (R : ZFSet.{u} → ZFSet.{u} → Prop) (σ : ZFSet.{u}) :=
    …
  38. instance OAI.PartitionConsistency.SetForcingNames.(instance at line 287) line 287
  39. def OAI.PartitionConsistency.SetForcingNames.unionName line 294

    Source documentation

    The union name for an arbitrary set forcing, not necessarily one with binary meets. Every common strengthening is included.

    noncomputable def unionName (P : ZFSet.{u}) (R : ZFSet.{u} → ZFSet.{u} → Prop)
        (σ : ZFSet.{u}) : ZFSet.{u} :=
    …
  40. theorem OAI.PartitionConsistency.SetForcingNames.mem_unionName_iff line 298
  41. theorem OAI.PartitionConsistency.SetForcingNames.edge_unionName_iff line 309
  42. theorem OAI.PartitionConsistency.SetForcingNames.unionName_isName line 319
  43. theorem OAI.PartitionConsistency.SetForcingNames.evaluate_unionName line 328

    Source documentation

    Interpretation of the union constructor needs precisely upward closure and directedness of the filter. No continuity or closure of the poset is assumed.

    theorem evaluate_unionName {P : ZFSet.{u}} {R : ZFSet.{u} → ZFSet.{u} → Prop}
        {G : Set ZFSet.{u}} (hGP : G ⊆ P)
        (hup : ∀ p ∈ P, ∀ q ∈ G, R q p → p ∈ G)
        (hdir : ∀ p ∈ G, ∀ r ∈ G, ∃ q ∈ G, R q p ∧ R q r)
        {σ : ZFSet.{u}} (hσ : IsName P σ) :
        evaluate G (unionName P R σ) = ZFSet.sUnion (evaluate G σ) := by
    …

    Mentions: OAI.PartitionConsistency.SetForcingNames.IsName, OAI.PartitionConsistency.SetForcingNames.evaluate, OAI.PartitionConsistency.SetForcingNames.unionName

  44. structure OAI.PartitionConsistency.SetForcingNames.ConditionAction line 354

    Source documentation

    The condition part of a symmetric system. A homomorphism into permutations of the actual set of conditions is enough to lift the action to set names. Preservation of the forcing order is used separately for the union constructor.

    structure ConditionAction (Γ : Type v) [Group Γ] where
    …
  45. def OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode line 362

    Source documentation

    Extend a permutation of the conditions by the identity on all other codes.

    noncomputable def actCode (g : Γ) (p : ZFSet.{u}) : ZFSet.{u} := by
    …
  46. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_of_mem line 366
  47. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_of_not_mem line 371
  48. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_mem line 376
  49. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_one line 381
  50. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_mul line 387
  51. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_inv_actCode line 395
  52. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_actCode_inv line 399
  53. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_injective line 403
  54. structure OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name line 408

    Source documentation

    Literal names for this condition set. Equality is equality of the underlying ZF sets, not equality of tree presentations.

    structure Name where
    …
  55. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.ext line 415
  56. def OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.act line 421
  57. instance OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.(instance at line 425) line 425
  58. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_val line 441
  59. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.evaluate_smul line 445

    Source documentation

    The syntax action and evaluation transform together.

    theorem evaluate_smul (g : Γ) (G : Set ZFSet.{u}) (σ : S.Name) :
        evaluate G (g • σ).val = evaluate (S.actCode g ⁻¹' G) σ.val :=
    …

    Mentions: OAI.PartitionConsistency.SetForcingNames.evaluate

  60. def OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.child line 451

    Source documentation

    An edge recovers a name, with hereditary well-formedness proved from its parent rather than imposed as an additional hypothesis.

    def child (σ : S.Name) {τ p : ZFSet.{u}} (he : ZFSet.pair τ p ∈ σ.val) : S.Name :=
    …
  61. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.child_val line 454
  62. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.child_wellFounded line 457
  63. def OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.check line 461

    Source documentation

    Canonical names in the actual condition system.

    noncomputable def check {t : ZFSet.{u}} (ht : t ∈ S.conditions) (x : ZFSet.{u}) : S.Name :=
    …
  64. def OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.pair line 465

    Source documentation

    Pairing of names in the actual condition system.

    def pair {t : ZFSet.{u}} (ht : t ∈ S.conditions) (σ τ : S.Name) : S.Name :=
    …
  65. def OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.union line 469

    Source documentation

    Union of names for the chosen forcing order.

    noncomputable def union (R : ZFSet.{u} → ZFSet.{u} → Prop) (σ : S.Name) : S.Name :=
    …
  66. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_check line 472
  67. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_pair line 479
  68. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.mapConditions_unionName line 496

    Source documentation

    If condition permutations preserve the order, they commute exactly with the set-valued union-name constructor.

    theorem mapConditions_unionName (R : ZFSet.{u} → ZFSet.{u} → Prop)
        (hR : ∀ g p q, R (S.actCode g p) (S.actCode g q) ↔ R p q)
        (g : Γ) (σ : ZFSet.{u}) :
        mapConditions (S.actCode g) (unionName S.conditions R σ) =
          unionName S.conditions R (mapConditions (S.actCode g) σ) := by
    …

    Mentions: OAI.PartitionConsistency.SetForcingNames.mapConditions, OAI.PartitionConsistency.SetForcingNames.unionName

  69. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_union line 528
  70. def OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.Symmetric line 536

    Source documentation

    A name is symmetric when its literal set-name stabilizer belongs to the specified subgroup filter. This does not mention its interpretation.

    def Symmetric (F : Set (Subgroup Γ)) (σ : S.Name) : Prop :=
    …
  71. def OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS line 541

    Source documentation

    Hereditary symmetry follows the subname relation, not membership of the interpreted sets.

    def HS (F : Set (Subgroup Γ)) : S.Name → Prop :=
    …
  72. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.hs_iff line 545
  73. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS.symmetric line 550
  74. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS.subname line 553
  75. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS.child line 556
  76. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS.smul line 562

    Source documentation

    Normality of the subgroup filter is exactly what is needed to transport hereditarily symmetric names.

    theorem HS.smul {F : Set (Subgroup Γ)} (hF : SupportFilter.IsNormalFilter F) (g : Γ)
        {σ : S.Name} (hσ : HS F σ) : HS F (g • σ) := by
    …

    Mentions: OAI.PartitionConsistency.SupportFilter.IsNormalFilter, OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS

  77. def OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.empty line 578
  78. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_empty line 580
  79. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.empty_HS line 584
  80. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.check_HS line 596
  81. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.pair_HS line 613
  82. theorem OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.union_HS line 628