OAI/SetTheory/PartitionConsistency/Forcing/CohenForcing.lean
42 declarations, 0 contain sorry, 0 declared as axioms
- structure
OAI.PartitionConsistency.CohenForcing.Conditionline 13Source documentation
Countable partial functions
I × κ → 2, represented by their graphs. Countability of the graph is equivalent to countability of the domain for these single-valued graphs. Conditions are ordered by reverse inclusion.structure Condition (I : Type u) (κ : Type v) where …
- theorem
OAI.PartitionConsistency.CohenForcing.Condition.extline 20 - instance
OAI.PartitionConsistency.CohenForcing.Condition.(instance at line 23)line 23 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.le_iffline 29 - instance
OAI.PartitionConsistency.CohenForcing.Condition.(instance at line 31)line 31 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.graph_topline 35 - def
OAI.PartitionConsistency.CohenForcing.Condition.domline 37 - def
OAI.PartitionConsistency.CohenForcing.Condition.supportline 38 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.countable_domline 40 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.countable_supportline 43 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.mem_domline 46 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.mem_supportline 54 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.countable_graph_iff_domline 64Source documentation
The graph description is equivalent to the source's countable-domain condition for partial functions, and does not impose an extra smallness bound.
theorem countable_graph_iff_dom {g : Set ((I × κ) × Bool)} (hg : ∀ a b c, (a, b) ∈ g → (a, c) ∈ g → b = c) : g.Countable ↔ (Prod.fst '' g).Countable := by … - def
OAI.PartitionConsistency.CohenForcing.Condition.Compatibleline 75Source documentation
Compatibility is exactly agreement wherever both assignments are defined.
def Compatible (p q : Condition I κ) : Prop := …
- theorem
OAI.PartitionConsistency.CohenForcing.Condition.Compatible.symmline 78 - def
OAI.PartitionConsistency.CohenForcing.Condition.unionline 81 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.union_graphline 92 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.union_le_leftline 95 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.union_le_rightline 98 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.compatible_iffline 101 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.countably_closedline 111Source documentation
The Cohen forcing described in the source is countably closed. Unions suffice; no closure of the diagram forcing or product is asserted.
theorem countably_closed (p : ℕ → Condition I κ) (hp : Antitone p) : ∃ r : Condition I κ, ∀ n, r ≤ p n := by … - def
OAI.PartitionConsistency.CohenForcing.Condition.restrictline 124Source documentation
Restriction to a set of label coordinates.
def restrict (p : Condition I κ) (J : Set I) : Condition I κ where …
- theorem
OAI.PartitionConsistency.CohenForcing.Condition.mem_restrictline 129 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.le_restrictline 132 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.support_restrict_subsetline 135 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.restrict_eq_of_support_subsetline 141 - def
OAI.PartitionConsistency.CohenForcing.Condition.coordinatePermline 151Source documentation
Define the coordinate action on the full graph, including both the ordinal input and its Boolean output.
def coordinatePerm (π : Equiv.Perm I) : Equiv.Perm ((I × κ) × Bool) := …
- theorem
OAI.PartitionConsistency.CohenForcing.Condition.coordinatePerm_applyline 154 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.coordinatePerm_symm_applyline 156 - def
OAI.PartitionConsistency.CohenForcing.Condition.permuteline 159 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.mem_permuteline 166 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.permute_oneline 170 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.permute_mulline 174 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.permute_inv_permuteline 180 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.permute_permute_invline 186 - def
OAI.PartitionConsistency.CohenForcing.Condition.permuteOrderIsoline 194Source documentation
The same label permutations used for diagrams are order automorphisms of Cohen forcing. They can therefore act diagonally on the product.
def permuteOrderIso (π : Equiv.Perm I) : Condition I κ ≃o Condition I κ where …
- theorem
OAI.PartitionConsistency.CohenForcing.Condition.permute_eq_of_fixes_supportline 204 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.compatible_of_disjoint_off_rootline 218Source documentation
Two conditions agreeing on their common root and having disjoint nonroot supports are compatible. This is the Cohen half of the locality argument.
theorem compatible_of_disjoint_off_root (p q : Condition I κ) (J : Set I) (hroot : Compatible (restrict p J) (restrict q J)) (hdisj : Disjoint (p.support \ J) (q.support \ J)) : Compatible p q := by …Mentions: OAI.PartitionConsistency.CohenForcing.Condition, OAI.PartitionConsistency.CohenForcing.Condition.Compatible, OAI.PartitionConsistency.CohenForcing.Condition.restrict
- def
OAI.PartitionConsistency.CohenForcing.Condition.insertline 229Source documentation
Introduce one unassigned coordinate with a specified Boolean value.
def insert (p : Condition I κ) (a : I × κ) (b : Bool) (h : a ∉ p.dom) : Condition I κ where …
- theorem
OAI.PartitionConsistency.CohenForcing.Condition.insert_leline 242 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.fresh_levelline 245 - theorem
OAI.PartitionConsistency.CohenForcing.Condition.separate_labelsline 256Source documentation
Distinct label coordinates can be assigned opposite bits at a fresh level below every condition. This is the dense separation used for distinct labels.
theorem separate_labels [Uncountable κ] (p : Condition I κ) {j k : I} (hjk : j ≠ k) : ∃ (q : Condition I κ) (a : κ), q ≤ p ∧ ((j, a), false) ∈ q.graph ∧ ((k, a), true) ∈ q.graph := by …