Built with Alectryon. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use instead of Ctrl.
Hover-Settings: Show types: Show goals:

Hello

Inspecting Lean

"4.8.0-rc1"
Lean.versionString: String
Lean.versionString
"4.8.0"
Lean.versionStringCore: String
Lean.versionStringCore
"leanprover/lean4:4.8.0-rc1"
Lean.toolchain: String
Lean.toolchain
"leanprover/lean4"
Lean.origin: String
Lean.origin
"dcccfb73cb247e9478220375ab7de03f7c67e505"
Lean.githash: String
Lean.githash

Proofs

theorem 
test: ∀ (p q : Prop), p → q → (p ∧ q ↔ q ∧ p)
test
(
p: Prop
p
q: Prop
q
:
Prop: Type
Prop
) (
hp: p
hp
:
p: Prop
p
) (
hq: q
hq
:
q: Prop
q
):
p: Prop
p
q: Prop
q
q: Prop
q
p: Prop
p
:=

Goals accomplished! 🐙
p, q: Prop
hp: p
hq: q

mp
p q q p
p, q: Prop
hp: p
hq: q
q p p q
p, q: Prop
hp: p
hq: q

mp
p q q p
p, q: Prop
hp: p
hq: q

mp
p q q p
Warning: unused variable `h` note: this linter can be disabled with `set_option linter.unusedVariables false`
p, q: Prop
hp: p
hq: q
h: p q

mp
q p
p, q: Prop
hp: p
hq: q
h: p q

mp.left
q
p, q: Prop
hp: p
hq: q
h: p q
p
p, q: Prop
hp: p
hq: q
h: p q

mp.left
q

Goals accomplished! 🐙
p, q: Prop
hp: p
hq: q
h: p q

mp.right
p

Goals accomplished! 🐙
p, q: Prop
hp: p
hq: q

mpr
q p p q
p, q: Prop
hp: p
hq: q

mpr
q p p q
Warning: unused variable `h` note: this linter can be disabled with `set_option linter.unusedVariables false`
p, q: Prop
hp: p
hq: q
h: q p

mpr
p q
p, q: Prop
hp: p
hq: q
h: q p

mpr.left
p
p, q: Prop
hp: p
hq: q
h: q p
q
p, q: Prop
hp: p
hq: q
h: q p

mpr.left
p

Goals accomplished! 🐙
p, q: Prop
hp: p
hq: q
h: q p

mpr.right
q

Goals accomplished! 🐙