You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lean4game/server/testgame/TestGame/Levels/Predicate/L01_Ring.lean

45 lines
1.2 KiB
Plaintext

2 years ago
import TestGame.Metadata
import Mathlib.Tactic.Ring
--set_option tactic.hygienic false
Game "TestGame"
World "Predicate"
2 years ago
Level 1
Title "Natürliche Zahlen"
Introduction
"
Wir sind den narürlichen Zahlen `` (`\\N`) schon kurz begegnet.
2 years ago
Gleichungen, die nur die Operationen `+, -, *, ^` (Addition, Subtraktion, Multiplikation, Potenz)
und Variablen enthalten, kann Lean mit der Taktik `ring` beweisen.
Diese Taktik funktioniert nicht nur über den natürlichen Zahlen,
sondern auch in (kommutativen) Gruppen, Ringen, und Körpern. Sie heisst `ring`, weil sie für Ringe
entwickelt wurde.
(Note: Division `/` ignorieren wir hier erst einmal, weil diese auf ``
nicht kanonisch definiert ist.)
2 years ago
"
2 years ago
Statement
"Zeige $(x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2$."
(x y : ) : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by
2 years ago
ring
Hint (x : ) (y : ) : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 =>
2 years ago
"`ring` übernimmt den ganzen Spaß."
2 years ago
Conclusion
"
Die Taktik heisst übrigens `ring` weil sie dafür entwickelt wurde, Gleichungen in einem abstrakten
Ring zu lösen, funktioniert aber auch auf ``, auch wenn dieses kein Ring ist
(erst `` ist ein Ring).
"
Tactics ring
#eval 4 / 6