Theorem mulne0 | index | src |

theorem mulne0 (a b: nat): $ a * b != 0 <-> a != 0 /\ b != 0 $;
StepHypRefExpression
1 bitr3
(0 < a * b <-> a * b != 0) -> (0 < a * b <-> a != 0 /\ b != 0) -> (a * b != 0 <-> a != 0 /\ b != 0)
2 lt01
0 < a * b <-> a * b != 0
3 1, 2 ax_mp
(0 < a * b <-> a != 0 /\ b != 0) -> (a * b != 0 <-> a != 0 /\ b != 0)
4 bitr
(0 < a * b <-> 0 < a /\ 0 < b) -> (0 < a /\ 0 < b <-> a != 0 /\ b != 0) -> (0 < a * b <-> a != 0 /\ b != 0)
5 mulpos
0 < a * b <-> 0 < a /\ 0 < b
6 4, 5 ax_mp
(0 < a /\ 0 < b <-> a != 0 /\ b != 0) -> (0 < a * b <-> a != 0 /\ b != 0)
7 aneq
(0 < a <-> a != 0) -> (0 < b <-> b != 0) -> (0 < a /\ 0 < b <-> a != 0 /\ b != 0)
8 lt01
0 < a <-> a != 0
9 7, 8 ax_mp
(0 < b <-> b != 0) -> (0 < a /\ 0 < b <-> a != 0 /\ b != 0)
10 lt01
0 < b <-> b != 0
11 9, 10 ax_mp
0 < a /\ 0 < b <-> a != 0 /\ b != 0
12 6, 11 ax_mp
0 < a * b <-> a != 0 /\ b != 0
13 3, 12 ax_mp
a * b != 0 <-> a != 0 /\ b != 0

Axiom use

axs_prop_calc (ax_1, ax_2, ax_3, ax_mp, itru), axs_pred_calc (ax_gen, ax_4, ax_5, ax_6, ax_7, ax_10, ax_11, ax_12), axs_peano (peano1, peano2, peano5, addeq, muleq, add0, addS, mul0, mulS)