I am trying to proof the total correction of Euclidean Algorithm, so I am up to proof one of the following properties which is divisor by Zero.
Given this Axiom:
(div) ∀x∀y (x | y ↔ ∃n y = n • x)
I want to proof:
(divby0) ∀x (0|x ↔ x = 0)
My attempt so far: Using the one of the properties of multiplication which is
(MULT0a) ∀x 0 ⋅ x = 0
and the Natural deduction rules
Steps:
1. (div) ∀x∀y (x | y ↔ ∃n y = n • x)
2. (MULT0a) ∀x 0 ⋅ x = 0
3. ∀y (0 | y ↔ ∃n y = n • 0) -- ∀-elim 1
4. (0 | a ↔ ∃n a = n • 0) -- ∀-elim 3, let a->Natural numbers
5. (∃n a = n • 0 → 0 | a) -- ↔ elim2, 4
6. 0 . a = 0 -- ∀elim,2
7.
8.
How could I fix it or improve it?
For one "side", we must start assuming :
then deriving, by use of transitivity of $=$ and axiom $0 = a \times 0$ that :
and from this, by $\exists$-intro :
For the other "side", from $0|x$, i.e. $\exists n (x = n \times 0)$, assume for $\exists$-elim $n$ such that $x = n \times 0$.
From the axiom $n \times 0 = 0$ transitivity of $=$ we derive :
thus, by $\exists$-elim (becuase $n$ is not free in $x = 0$) we conclude :
In conclusion, we have proved that :
and that :
i.e. by $\leftrightarrow$-intro :
One last step of $\forall$-intro and we have :