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 variable
s 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