OAI/SetTheory/PartitionConsistency/Forcing/ForcingNames.lean
82 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.PartitionConsistency.SetForcingNames.Childline 13Source 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 ∈ σ - theorem
OAI.PartitionConsistency.SetForcingNames.child_wfline 15 - def
OAI.PartitionConsistency.SetForcingNames.Edgesline 25Source 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 ∈ σ} - instance
OAI.PartitionConsistency.SetForcingNames.(instance at line 27)line 27 - def
OAI.PartitionConsistency.SetForcingNames.IsNameline 37Source 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 := … - theorem
OAI.PartitionConsistency.SetForcingNames.isName_iffline 42 - theorem
OAI.PartitionConsistency.SetForcingNames.IsName.introline 48 - theorem
OAI.PartitionConsistency.SetForcingNames.IsName.edgesline 58 - theorem
OAI.PartitionConsistency.SetForcingNames.IsName.childline 64 - theorem
OAI.PartitionConsistency.SetForcingNames.IsName.conditionline 68 - theorem
OAI.PartitionConsistency.SetForcingNames.isName_emptyline 72 - def
OAI.PartitionConsistency.SetForcingNames.evaluateline 77Source 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} := … - theorem
OAI.PartitionConsistency.SetForcingNames.evaluate_eqline 81 - theorem
OAI.PartitionConsistency.SetForcingNames.mem_evaluate_iffline 86 - def
OAI.PartitionConsistency.SetForcingNames.mapConditionsline 96Source documentation
Recursive transport of names by a map on condition codes.
noncomputable def mapConditions (f : ZFSet.{u} → ZFSet.{u}) : ZFSet.{u} → ZFSet.{u} := … - theorem
OAI.PartitionConsistency.SetForcingNames.mapConditions_eqline 100 - theorem
OAI.PartitionConsistency.SetForcingNames.mem_mapConditions_iffline 106 - theorem
OAI.PartitionConsistency.SetForcingNames.edge_mapConditions_iffline 116 - theorem
OAI.PartitionConsistency.SetForcingNames.evaluate_emptyline 121 - theorem
OAI.PartitionConsistency.SetForcingNames.mapConditions_emptyline 125 - theorem
OAI.PartitionConsistency.SetForcingNames.mapConditions_idline 130 - theorem
OAI.PartitionConsistency.SetForcingNames.mapConditions_compline 143 - theorem
OAI.PartitionConsistency.SetForcingNames.IsName.mapConditionsline 158 - theorem
OAI.PartitionConsistency.SetForcingNames.evaluate_mapConditionsline 169Source 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
- def
OAI.PartitionConsistency.SetForcingNames.checkNameline 186Source documentation
The canonical name for a ground set, using the condition
t. In applicationstis the largest condition.noncomputable def checkName (t : ZFSet.{u}) : ZFSet.{u} → ZFSet.{u} := … - theorem
OAI.PartitionConsistency.SetForcingNames.checkName_eqline 189 - theorem
OAI.PartitionConsistency.SetForcingNames.mem_checkName_iffline 194 - theorem
OAI.PartitionConsistency.SetForcingNames.edge_checkName_iffline 199 - theorem
OAI.PartitionConsistency.SetForcingNames.checkName_isNameline 203 - theorem
OAI.PartitionConsistency.SetForcingNames.evaluate_checkNameline 211 - theorem
OAI.PartitionConsistency.SetForcingNames.mapConditions_checkNameline 225 - def
OAI.PartitionConsistency.SetForcingNames.pairNameline 240Source documentation
A literal pairing name.
def pairName (t σ τ : ZFSet.{u}) : ZFSet.{u} := {ZFSet.pair σ t, ZFSet.pair τ t} - theorem
OAI.PartitionConsistency.SetForcingNames.pairName_isNameline 242 - theorem
OAI.PartitionConsistency.SetForcingNames.edge_pairName_iffline 250 - theorem
OAI.PartitionConsistency.SetForcingNames.evaluate_pairNameline 254 - theorem
OAI.PartitionConsistency.SetForcingNames.mapConditions_pairNameline 267 - def
OAI.PartitionConsistency.SetForcingNames.UnionEdgesline 283Source 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}) := … - instance
OAI.PartitionConsistency.SetForcingNames.(instance at line 287)line 287 - def
OAI.PartitionConsistency.SetForcingNames.unionNameline 294Source 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} := … - theorem
OAI.PartitionConsistency.SetForcingNames.mem_unionName_iffline 298 - theorem
OAI.PartitionConsistency.SetForcingNames.edge_unionName_iffline 309 - theorem
OAI.PartitionConsistency.SetForcingNames.unionName_isNameline 319 - theorem
OAI.PartitionConsistency.SetForcingNames.evaluate_unionNameline 328Source 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
- structure
OAI.PartitionConsistency.SetForcingNames.ConditionActionline 354Source 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 …
- def
OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCodeline 362Source documentation
Extend a permutation of the conditions by the identity on all other codes.
noncomputable def actCode (g : Γ) (p : ZFSet.{u}) : ZFSet.{u} := by … - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_of_memline 366 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_of_not_memline 371 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_memline 376 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_oneline 381 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_mulline 387 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_inv_actCodeline 395 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_actCode_invline 399 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.actCode_injectiveline 403 - structure
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Nameline 408Source documentation
Literal names for this condition set. Equality is equality of the underlying ZF sets, not equality of tree presentations.
structure Name where …
- theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.extline 415 - def
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.actline 421 - instance
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.(instance at line 425)line 425 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_valline 441 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.evaluate_smulline 445Source 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 := … - def
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.childline 451Source 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 := … - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.child_valline 454 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.child_wellFoundedline 457 - def
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.checkline 461Source documentation
Canonical names in the actual condition system.
noncomputable def check {t : ZFSet.{u}} (ht : t ∈ S.conditions) (x : ZFSet.{u}) : S.Name := … - def
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.pairline 465Source documentation
Pairing of names in the actual condition system.
def pair {t : ZFSet.{u}} (ht : t ∈ S.conditions) (σ τ : S.Name) : S.Name := … - def
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.unionline 469Source documentation
Union of names for the chosen forcing order.
noncomputable def union (R : ZFSet.{u} → ZFSet.{u} → Prop) (σ : S.Name) : S.Name := … - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_checkline 472 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_pairline 479 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.mapConditions_unionNameline 496Source 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
- theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_unionline 528 - def
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.Symmetricline 536Source 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 := …
- def
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HSline 541Source documentation
Hereditary symmetry follows the subname relation, not membership of the interpreted sets.
def HS (F : Set (Subgroup Γ)) : S.Name → Prop := …
- theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.hs_iffline 545 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS.symmetricline 550 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS.subnameline 553 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS.childline 556 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.HS.smulline 562Source 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
- def
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.emptyline 578 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.smul_emptyline 580 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.empty_HSline 584 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.check_HSline 596 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.pair_HSline 613 - theorem
OAI.PartitionConsistency.SetForcingNames.ConditionAction.Name.union_HSline 628