example {P Q : Prop} : (¬P ∨ Q) → (P → Q)
| Or.inl (notP : ¬P) => fun (p : P) ↦ False.elim (notP p)
| Or.inr (q : Q) => fun (_ : P) ↦ q
(R, mul_comm)
where R
is a ring and mul_comm
is a proof that the multiplication operation of R
is commutative.structure CommRing where
R : Ring
mul_comm : ∀ x y : R, x * y = y * x
R
introduced one line above. A ring is itslef a a tuple In the 2024 HEGL seminar, the first half of the semester was dedicated to learning the concepts we have just discussed, and what it implies for basic concepts of algebra.
The students were then asked to write a Lean proof that, in a domain, every prime element is irreducible, and to turn that proof into a game.
On the up side:
On the down side:
To keep exploring this seems like a fun activity for future iterations of the seminar!