Base actions #
In this file, we define base actions.
Main declarations #
ConNF.BaseAction
: The type of base actions.
- atoms : Rel ConNF.Atom ConNF.Atom
- nearLitters : Rel ConNF.NearLitter ConNF.NearLitter
- atoms_dom_small' : ConNF.Small self.atoms.dom
- nearLitters_dom_small' : ConNF.Small self.nearLitters.dom
- atoms_oneOne' : self.atoms.OneOne
- interference_subset_dom' : ∀ {N₁ N₂ : ConNF.NearLitter}, N₁ ∈ self.nearLitters.dom → N₂ ∈ self.nearLitters.dom → ConNF.interference N₁ N₂ ⊆ self.atoms.dom
- interference_subset_codom' : ∀ {N₁ N₂ : ConNF.NearLitter}, N₁ ∈ self.nearLitters.codom → N₂ ∈ self.nearLitters.codom → ConNF.interference N₁ N₂ ⊆ self.atoms.codom
Instances For
theorem
ConNF.BaseAction.nearLitters_coinjective
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ.nearLitters.Coinjective
theorem
ConNF.BaseAction.nearLitters_injective
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ.nearLitters.Injective
instance
ConNF.BaseAction.instBaseActionClass
[ConNF.Params]
:
ConNF.BaseActionClass ConNF.BaseAction
Equations
- ConNF.BaseAction.instBaseActionClass = { atoms := ConNF.BaseAction.atoms, atoms_oneOne := ⋯, nearLitters := ConNF.BaseAction.nearLitters, nearLitters_oneOne := ⋯ }
theorem
ConNF.BaseAction.ext
[ConNF.Params]
{ξ ζ : ConNF.BaseAction}
(atoms : ξᴬ = ζᴬ)
(nearLitters : ξᴺ = ζᴺ)
:
ξ = ζ
theorem
ConNF.BaseAction.nearLitters_dom_small
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ConNF.Small ξᴺ.dom
theorem
ConNF.BaseAction.mem_iff_mem
[ConNF.Params]
{ξ : ConNF.BaseAction}
{a₁ a₂ : ConNF.Atom}
{N₁ N₂ : ConNF.NearLitter}
:
theorem
ConNF.BaseAction.interference_subset_dom
[ConNF.Params]
{ξ : ConNF.BaseAction}
{N₁ N₂ : ConNF.NearLitter}
:
theorem
ConNF.BaseAction.interference_subset_codom
[ConNF.Params]
{ξ : ConNF.BaseAction}
{N₁ N₂ : ConNF.NearLitter}
:
theorem
ConNF.BaseAction.atoms_codom_small
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ConNF.Small ξᴬ.codom
theorem
ConNF.BaseAction.nearLitters_codom_small
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ConNF.Small ξᴺ.codom
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ConNF.BaseAction.instInv = { inv := ConNF.BaseAction.inv }
@[simp]
@[simp]
inductive
ConNF.BaseAction.litters
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
Rel ConNF.Litter ConNF.Litter
- mk: ∀ [inst : ConNF.Params] {ξ : ConNF.BaseAction} {N₁ N₂ : ConNF.NearLitter}, ξᴺ N₁ N₂ → ξ.litters N₁ᴸ N₂ᴸ
Instances For
instance
ConNF.BaseAction.instSuperLRelLitter
[ConNF.Params]
:
ConNF.SuperL ConNF.BaseAction (Rel ConNF.Litter ConNF.Litter)
Equations
- ConNF.BaseAction.instSuperLRelLitter = { superL := ConNF.BaseAction.litters }
theorem
ConNF.BaseAction.litters_dom_small
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ConNF.Small ξᴸ.dom
theorem
ConNF.BaseAction.litters_codom_small
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ConNF.Small ξᴸ.codom
@[simp]
Equations
- ConNF.BaseAction.instPartialOrder = PartialOrder.mk ⋯
def
ConNF.BaseAction.extend
[ConNF.Params]
(ξ : ConNF.BaseAction)
(r : Rel ConNF.Atom ConNF.Atom)
(r_dom_small : ConNF.Small r.dom)
(r_oneOne : r.OneOne)
(r_dom_disjoint : Disjoint ξᴬ.dom r.dom)
(r_codom_disjoint : Disjoint ξᴬ.codom r.codom)
(r_mem_iff_mem : ∀ {a₁ a₂ : ConNF.Atom} {N₁ N₂ : ConNF.NearLitter}, r a₁ a₂ → ξᴺ N₁ N₂ → (a₁ ∈ N₁ᴬ ↔ a₂ ∈ N₂ᴬ))
:
ConNF.BaseAction
A definition that can be used to reduce the proof obligations of extending a base action.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
ConNF.BaseAction.le_extend
[ConNF.Params]
{ξ : ConNF.BaseAction}
{r : Rel ConNF.Atom ConNF.Atom}
{r_dom_small : ConNF.Small r.dom}
{r_oneOne : r.OneOne}
{r_dom_disjoint : Disjoint ξᴬ.dom r.dom}
{r_codom_disjoint : Disjoint ξᴬ.codom r.codom}
{r_mem_iff_mem : ∀ {a₁ a₂ : ConNF.Atom} {N₁ N₂ : ConNF.NearLitter}, r a₁ a₂ → ξᴺ N₁ N₂ → (a₁ ∈ N₁ᴬ ↔ a₂ ∈ N₂ᴬ)}
:
ξ ≤ ξ.extend r r_dom_small r_oneOne r_dom_disjoint r_codom_disjoint ⋯
Extending orbits inside near-litters #
theorem
ConNF.BaseAction.insideCandidates_not_small
[ConNF.Params]
(ξ : ConNF.BaseAction)
(L : ConNF.Litter)
:
¬ConNF.Small {a : ConNF.Atom | ξ.InsideCandidate L a}
theorem
ConNF.BaseAction.card_inside_lt_card_insideCandidates
[ConNF.Params]
(ξ : ConNF.BaseAction)
(L : ConNF.Litter)
:
Cardinal.mk ↑ξ.inside < Cardinal.mk ↑{a : ConNF.Atom | ξ.InsideCandidate L a}
def
ConNF.BaseAction.insideMap
[ConNF.Params]
(ξ : ConNF.BaseAction)
(L : ConNF.Litter)
:
↑ξ.inside ↪ ↑{a : ConNF.Atom | ξ.InsideCandidate L a}
Equations
- ξ.insideMap L = Nonempty.some ⋯
Instances For
theorem
ConNF.BaseAction.insideMap_litter_eq
[ConNF.Params]
{ξ : ConNF.BaseAction}
(L : ConNF.Litter)
(x : ↑ξ.inside)
:
theorem
ConNF.BaseAction.insideMap_not_mem_codom
[ConNF.Params]
{ξ : ConNF.BaseAction}
(L : ConNF.Litter)
(x : ↑ξ.inside)
:
↑((ξ.insideMap L) x) ∉ ξᴬ.codom
theorem
ConNF.BaseAction.insideMap_mem_nearLitter
[ConNF.Params]
{ξ : ConNF.BaseAction}
(L : ConNF.Litter)
(x : ↑ξ.inside)
{N : ConNF.NearLitter}
:
theorem
ConNF.BaseAction.insideRel_dom_small
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ConNF.Small ξ.insideRel.dom
theorem
ConNF.BaseAction.insideRel_injective
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ.insideRel.Injective
theorem
ConNF.BaseAction.insideRel_coinjective
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ.insideRel.Coinjective
theorem
ConNF.BaseAction.insideRel_mem_iff_mem
[ConNF.Params]
{ξ : ConNF.BaseAction}
{a₁ a₂ : ConNF.Atom}
{N₁ N₂ : ConNF.NearLitter}
(ha : ξ.insideRel a₁ a₂)
(hN : ξᴺ N₁ N₂)
:
Equations
- ξ.insideExtension = ξ.extend ξ.insideRel ⋯ ⋯ ⋯ ⋯ ⋯
Instances For
theorem
ConNF.BaseAction.le_insideExtension
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ ≤ ξ.insideExtension
Extending orbits outside near-litters #
theorem
ConNF.BaseAction.card_not_sandbox
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
Cardinal.mk ↑{L : ConNF.Litter | ¬ξ.Sandbox L} ≤ Cardinal.mk ConNF.κ
theorem
ConNF.BaseAction.exists_sandbox
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
{L : ConNF.Litter | ξ.Sandbox L}.Nonempty
Equations
- ξ.sandbox = ⋯.some
Instances For
theorem
ConNF.BaseAction.card_outside_lt_card_sandbox
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
Cardinal.mk ↑ξ.outside < Cardinal.mk ↑ξ.sandboxᴬ
Equations
- ξ.outsideMap = Nonempty.some ⋯
Instances For
theorem
ConNF.BaseAction.outsideMap_litter
[ConNF.Params]
{ξ : ConNF.BaseAction}
(x : ↑ξ.outside)
:
ξ.Sandbox (↑(ξ.outsideMap x))ᴸ
Instances For
theorem
ConNF.BaseAction.outsideRel_dom_small
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ConNF.Small ξ.outsideRel.dom
theorem
ConNF.BaseAction.outsideRel_injective
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ.outsideRel.Injective
theorem
ConNF.BaseAction.outsideRel_coinjective
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ.outsideRel.Coinjective
theorem
ConNF.BaseAction.outsideRel_oneOne
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ.outsideRel.OneOne
Nice extensions #
Instances For
theorem
ConNF.BaseAction.le_doubleInsideExtension
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ ≤ ξ.doubleInsideExtension
Instances For
theorem
ConNF.BaseAction.le_niceExtension
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ ≤ ξ.niceExtension
theorem
ConNF.BaseAction.niceExtension_nice
[ConNF.Params]
(ξ : ConNF.BaseAction)
:
ξ.niceExtension.Nice
@[simp]
@[simp]