Documentation

LeanPool.AFormalizationOfBorelDeterminacyInLean.Basic.General

LeanPool.AFormalizationOfBorelDeterminacyInLean.Basic.General #

Auxiliary declarations for the Borel determinacy formalization.

@[simp]
theorem Nat.add_div' (k m n : ) (h : n < k) :
(k * m + n) / k = m
@[simp]
theorem Nat.add_sub_sub_of_le {m n p : } (mn : m n) (np : n p) :
n - m + (p - n) = p - m
@[simp]
theorem div_add_self (n : ) :
(n + n) % 2 = 0
theorem Set.hEq_of_image_eq {α : Type u_6} {A A' : Set α} (h : A = A') {B : Set A} {B' : Set A'} (h' : Subtype.val '' B = Subtype.val '' B') :
B B'
theorem exists_exists_and_eq {α : Type u_1} {β : Type u_2} {f : αβ} {p : βProp} :
(∃ (b : β), p b ∃ (a : α), b = f a) ∃ (a : α), p (f a)
theorem exists_exists_and_eq' {α : Type u_1} {β : Type u_2} {f : αβ} {p : βProp} {r : αProp} :
(∃ (b : β), p b ∃ (a : α), r a b = f a) ∃ (a : α), r a p (f a)
theorem Disjoint.subset_iff_empty {α : Type u_1} {s t : Set α} (h : Disjoint s t) :
s t s
theorem pairwiseDisjoint_iff {β : Type u_2} {I : Type u_3} {α : IType u_6} (f : (i : I) → α iβ) :
(Set.univ.PairwiseDisjoint fun (i : I) => Set.range (f i)) ∀ ⦃i : I⦄ ⦃x : α i⦄ ⦃j : I⦄ ⦃y : α j⦄, f i x = f j yi = j
theorem sigma_eq {α : Type u_1} {β : αSort u_6} {a a' : α} (h : a = a') {b : β a} :
a, b = a', cast b
noncomputable def uncurryProp {α : Type u_6} {β : αProp} {γ : (a : α) → β aSort u_7} (f : (x : α) → (y : β x) → γ x y) (x : {a : α | β a}) :
γ x

Auxiliary declaration for the Borel determinacy formalization.

Equations
Instances For
    theorem equals_nonempty_some {α : Type u_1} {a : α} {A : Set α} {ne : A.Nonempty} (h : a = ne.some) :
    a A
    theorem Cardinal.choose_injection {α β : Type u} (f : αSet β) (h : ∀ (a : α), mk α mk (f a)) :
    ∃ (g : αβ), Function.Injective g ∀ (a : α), g a f a