Definition 8.4.1 (Infinite Cartesian products). We will avoid using this definition in favor
of the Mathlib form ∀ α, X α which we will shortly show is equivalent to (or more precisely,
generalizes) this one.
Because Lean does not allow unrestricted unions of types, we cheat slightly here by assuming all the
X α are sets in a common universe U. Note that the Mathlib definition does not have this
restriction.
Instances For
Equivalence with Mathlib's product
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example 8.4.2.
Equations
- Chapter8.Function.equiv = { toFun := fun (f : I → X) => f, invFun := fun (f : I → X) => f, left_inv := ⋯, right_inv := ⋯ }
Instances For
Equations
- Chapter8.product_zero_equiv = { toFun := fun (f : (i : Fin 0) → X i) => PUnit.unit, invFun := fun (x : PUnit.{?u.14}) (i : Fin 0) => nomatch i, left_inv := ⋯, right_inv := ⋯ }
Instances For
Lemma 8.4.5
Proposition 8.4.7 / Exercise 8.4.1
Exercise 8.4.1. The spirit of the question here is to establish this result directly
from exists_function, avoiding previous results that relied more explicitly
on the axiom of choice.
Exercise 8.4.2. The spirit of the question here is to establish this result directly
from exists_set_singleton_intersect, avoiding previous results that relied more explicitly
on the axiom of choice.
Exercise 8.4.3
Exercise 8.4.3. The spirit of the question here is to establish this result directly
from Function.Injective.inv_surjective, avoiding previous results that relied more explicitly
on the axiom of choice.