Proofs
theorem test : ∀ (p q : Prop), p → q → (p ∧ q ↔ q ∧ p)
test ( p q : Prop ) ( hp : p ) ( hq : q ): p ∧ q ↔ q ∧ p := by
apply Iff.intro : ∀ {a b : Prop}, (a → b) → (b → a) → (a ↔ b)
Iff.introp, q : Prop hp : p hq : q
mp p ∧ q → q ∧ p
. p, q : Prop hp : p hq : q
mp p ∧ q → q ∧ p
intro p, q : Prop hp : p hq : q
mp p ∧ q → q ∧ p
h 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
apply And.intro : ∀ {a b : Prop}, a → b → a ∧ b
And.introp, q : Prop hp : p hq : q h : p ∧ q
mp.left q
. p, q : Prop hp : p hq : q h : p ∧ q
mp.left q
exact hq
. p, q : Prop hp : p hq : q h : p ∧ q
mp.right p
exact hp
. p, q : Prop hp : p hq : q
mpr q ∧ p → p ∧ q
intro p, q : Prop hp : p hq : q
mpr q ∧ p → p ∧ q
h 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
apply And.intro : ∀ {a b : Prop}, a → b → a ∧ b
And.introp, q : Prop hp : p hq : q h : q ∧ p
mpr.left p
. p, q : Prop hp : p hq : q h : q ∧ p
mpr.left p
exact hp
. p, q : Prop hp : p hq : q h : q ∧ p
mpr.right q
exact hq