Merge branch 'main' of github.com:leanprover-community/lean4game

This commit is contained in:
Jon Eugster
2023-02-08 10:34:47 +01:00
94 changed files with 1085 additions and 711 deletions
@@ -39,4 +39,4 @@ Statement mem_univ
trivial
-- tauto
Tactics tauto trivial
NewTactics tauto trivial
@@ -39,7 +39,7 @@ Statement subset_empty_iff
intro h hA
apply mem_univ -- or `trivial`.
Tactics intro trivial apply
NewTactics intro trivial apply
-- blocked: tauto simp
end MySet
@@ -54,8 +54,8 @@ Statement subset_empty_iff
rcases a with ⟨h₁, h₂⟩
assumption
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
end MySet
@@ -45,8 +45,8 @@ Statement eq_empty_iff_forall_not_mem
rw [←subset_empty_iff]
rfl -- This is quite a miracle :)
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
end MySet
@@ -30,6 +30,6 @@ Statement nonempty_iff_ne_empty
push_neg
rfl
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -26,6 +26,6 @@ Statement
"" (A B : Set ℕ) : (A ∪ ∅) ∩ B = A ∩ (univ ∩ B) := by
simp
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -30,6 +30,6 @@ Statement
rw [←union_diff_distrib]
rw [univ_union]
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -30,6 +30,6 @@ Statement
rw [←not_mem_compl_iff]
exact h4
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -22,7 +22,7 @@ man die de-Morganschen Regeln einfach selber beweisen könnten.
Die meisten Aufgaben über Mengen sind eine Kombination von `rw` und `simp_rw` verschiedenster
Lemmas in `import Mathlib.Data.Set`.
NewLemmas in `import Mathlib.Data.Set`.
Die Taktik `simp_rw` funktioniert ähnlich wie `rw`, aber sie versucht jedes Lemma so oft
wie möglich anzuwenden. Wir kennen also 4 etwas verwandte Optionen um Lemmas und Theoreme zu
@@ -52,7 +52,7 @@ Statement
rw [diff_eq_compl_inter]
rw [inter_comm]
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
-- TODOs
-- Lemmas compl_union compl_inter mem_compl_iff
@@ -33,6 +33,6 @@ Statement
rw [Set.mem_diff]
exact hx
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -32,6 +32,6 @@ Statement
({4, 9} : Set ℕ) = Set.insert 4 {9} := by
rfl
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -35,5 +35,5 @@ Statement
simp_rw [mem_insert_iff, mem_singleton_iff] at *
tauto
Tactics simp_rw intro tauto rw
NewTactics simp_rw intro tauto rw
--Lemmas Subset.antisymm_iff empty_subset
@@ -32,6 +32,6 @@ Statement
use 1
ring
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -37,6 +37,6 @@ Statement
assumption
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -36,6 +36,6 @@ Statement
ring
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -34,6 +34,6 @@ Statement
ring
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -28,6 +28,6 @@ Statement
{ x ∈ (S : Set ℤ) | 0 ≤ x} ⊆ S := by
library_search
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -23,6 +23,6 @@ Statement
use 1
ring
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -22,6 +22,6 @@ open Set
Statement
"" : True := sorry
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -23,6 +23,6 @@ Statement
use 1
ring
Tactics constructor intro rw assumption rcases simp tauto trivial
NewTactics constructor intro rw assumption rcases simp tauto trivial
Lemmas Subset.antisymm_iff empty_subset
NewLemmas Subset.antisymm_iff empty_subset
@@ -54,8 +54,7 @@ Statement
rw [←Set.union_diff_distrib]
rw [Set.univ_union]
Tactics rw
NewTactics rw
example : 4 ∈ (univ : Set ℕ) := by
trivial