Zulip Chat Archive

Stream: new members

Topic: I accidentally proved 2=3


Mr Proof (Jun 19 2024 at 15:43):

How can I detect fallacious proofs like this:

variable (a:2=3)

theorem proof:(2=3):=a
/- Q E D -/

Mauricio Collares (Jun 19 2024 at 15:46):

#print proof

Vincent Beffara (Jun 19 2024 at 15:46):

It's not fallacious, it just has type 2 = 3 → 2 = 3

Markus Schmaus (Jun 19 2024 at 15:47):

You proved 2 = 3 → 2 = 3, there is nothing wrong with that.

variable (a:2=3)

theorem proof : (2=3):=a
/- Q E D -/

#check proof -- proof (a : 2 = 3) : 2 = 3

Vincent Beffara (Jun 19 2024 at 15:52):

More to the point: this goes to show that it is safer to avoid variables in Prop

Mr Proof (Jun 19 2024 at 15:52):

Is there a way to check if a proof has used variables by mistake? e.g. if someone had define variable (proof2equals3:2=3) in another library

Johan Commelin (Jun 19 2024 at 15:56):

variable is local to your file (or section)

Kyle Miller (Jun 19 2024 at 16:53):

In addition to Mauricio's suggestion, you can hover over proof in VS Code and see its type.

Mark Fischer (Jun 21 2024 at 14:14):

A proof, but you can see that you've relied on an extra axiom:

axiom a : 2 = 3

theorem proof : 2 = 3 := a
/- Q E D -/

#check proof          -- proof : 2 = 3
#print axioms proof   -- 'proof' depends on axioms: [a]

Last updated: May 02 2025 at 03:31 UTC