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/adam/Adam/Levels/Prime/L02_Prime.lean

52 lines
1.6 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import Adam.Metadata
import Mathlib.Data.Nat.Prime
import Std.Tactic.RCases
import Mathlib.Tactic.LeftRight
import Mathlib.Tactic.Contrapose
import Mathlib.Tactic.Use
import Mathlib.Tactic.Ring
-- import Data.Nat.Prime
import Adam.ToBePorted
Game "Adam"
World "Prime"
Level 2
Title "Primzahlen"
Introduction
"
Als nächstes Begnet ihr einem Lehrer, der nachdenkend an der Sonne sitzt.
**Lehrer**: Sagt mal, mich hat heute einer meiner Schüler was gefragt,
und ich glaube einfach, der ist in so jungen Jahren bereits schlauer als ich.
Hier etwas Kontext:
"
Statement (p : ) (h : Nat.Prime p) : ∀ (x : ), (x p) → x = 1 x = p := by
Hint "**Du**: Die einzigen Teiler einer Primzahl sind `1` und `p`, ist das
nicht eine der möglichen Definitionen über ``?
**Robo**: Doch, oder zumindest fast.
Du kannst du mit `rw` und `Nat.prime_def_lt''` eine der Definitionen für `Nat.Prime` einsetzen
**Du** Könnte ich nicht einfach `unfold Nat.Prime` sagen um mir das anzuschauen.
**Robo**: Bloss nicht. Das ist so eine Definition, in die du besser nicht hineinschaust!
`Nat.Prime p` ist als `Irreducible p` definiert, was wiederum anhand von Einheiten
definiert ist… Da verlieren wir uns in Definition die wir im Moment gar nicht brauchen."
rw [Nat.prime_def_lt''] at h
rcases h with ⟨_, h₂⟩
assumption
NewLemma Nat.prime_def_lt''
Conclusion "**Du**: Ich sehe, meine \"Definition\" hätte auch `1` als Primzahl deklariert. Gut,
dass wir das überprüft haben.
**Lehrer**: Und jetzt kommen wir zu dem, was mir Kopfschmerzen bereitet."