fix missing lemma docs from statement names

This commit is contained in:
Jon Eugster
2023-04-03 11:53:48 +02:00
parent c2b298e650
commit f636a8d833
27 changed files with 56 additions and 36 deletions
@@ -20,7 +20,8 @@ aber er möchte, dass du ihm das hier und jetzt nochmals von Grund auf zeigst.
open Function
--TODO: This is a really hard proof
Statement bijective_iff_has_inverse "" {A B : Type} (f : A → B) :
-- bijective_iff_has_inverse
Statement "" {A B : Type} (f : A → B) :
Bijective f ↔ ∃ g, LeftInverse g f ∧ RightInverse g f := by
constructor
intro h
@@ -19,7 +19,9 @@ aber er möchte, dass du ihm das hier und jetzt nochmals von Grund auf zeigst.
open Function
set_option pp.rawOnError true
Statement bijective_iff_has_inverse "" {A B : Type} (f : A → B) :
-- bijective_iff_has_inverse
Statement {A B : Type} (f : A → B) :
Bijective f ↔ ∃ g, LeftInverse g f ∧ RightInverse g f := by
Branch
exfalso
@@ -27,7 +27,8 @@ local notation "ℝ²" => Fin 2 → ℝ
open Submodule Set Finsupp
Statement mem_span_of_mem
-- mem_span_of_mem
Statement
"Zeige, dass $x \\in M$ auch Element von der $K$-linearen Hülle
\\langle M \\rangle ist."
{V K : Type _} [Field K] [AddCommMonoid V]
@@ -19,7 +19,7 @@ Introduction
Sofort taucht das nächste Blatt auf. Anscheinend hatten sie sich auf einen Kompromiss geeinigt.
"
Statement odd_square (n : ℕ) (h : Odd n) : Odd (n ^ 2) := by
Statement (n : ℕ) (h : Odd n) : Odd (n ^ 2) := by
Hint (hidden := true) "**Robo**: mit `rcases h with ⟨r, hr⟩` kannst du wieder
das `r` nehmen, das laut Annahme existieren muss.
@@ -32,7 +32,7 @@ erklärt mir doch folgendes:
open Set
Statement mem_univ "" {A : Type} (x : A) : x ∈ (univ : Set A) := by
Statement Set.mem_univ "" {A : Type} (x : A) : x ∈ (univ : Set A) := by
Hint "**Du**: Also `A` ist ein `Type`, `x` ist ein Element in `A`…
**Robo** … und `univ` ist die Menge aller Elemente in `A`.
@@ -18,7 +18,7 @@ Ihr zieht also durch die Gegend und redet mit den Leuten. Ein Junge rennt zu euc
open Set
Statement not_mem_empty "" {A : Type} (x : A) :
Statement Set.not_mem_empty "" {A : Type} (x : A) :
x ∉ (∅ : Set A) := by
Hint "**Du**: Kein Element ist in der leeren Menge enthalten? Das ist ja alles
tautologisches Zeugs...
@@ -31,7 +31,7 @@ aufteilen.
open Set Subset
Statement subset_empty_iff {A : Type _} (s : Set A) :
Statement Set.subset_empty_iff {A : Type _} (s : Set A) :
s ⊆ ∅ ↔ s = ∅ := by
Hint "**Du**: Ja, die einzige Teilmenge der leeren Menge ist die leere Menge.
Das ist doch eine Tautologie?
@@ -22,7 +22,7 @@ Zeige folgendes Lemma, welches wir gleich brauchen werden:
open Set
Statement eq_empty_iff_forall_not_mem
Statement Set.eq_empty_iff_forall_not_mem
""
{A : Type _} (s : Set A) :
s = ∅ ↔ ∀ x, x ∉ s := by
@@ -21,8 +21,7 @@ Zeige dass die beiden Ausdrücke äquivalent sind:
open Set
Statement nonempty_iff_ne_empty
""
Statement Set.nonempty_iff_ne_empty
{A : Type _} (s : Set A) :
s.Nonempty ↔ s ≠ ∅ := by
Hint "Am besten fängst du mit `unfold Set.Nonempty` an."
@@ -42,7 +42,6 @@ open Set
#check mem_compl_iff
Statement
""
(A B C : Set ℕ) : (A \ B)ᶜ ∩ (C \ B)ᶜ = ((univ \ A) \ C) ∪ (univ \ Bᶜ) := by
rw [←compl_union]
rw [←union_diff_distrib]
+1 -1
View File
@@ -22,7 +22,7 @@ open Fin
open BigOperators
Statement odd_arithmetic_sum
Statement
"$\\sum_{i = 0}^n (2n + 1) = n ^ 2$."
(n : ℕ) : (∑ i : Fin n, (2 * (i : ℕ) + 1)) = n ^ 2 := by
Hint "**Robo**: Das funktioniert genau gleich wie zuvor, viel Glück."