let n, m be Integer; :: thesis: idiv_prg n,m = n div m
per cases
( m = 0 or m <> 0 )
;
suppose A2:
m <> 0
;
:: thesis: idiv_prg n,m = n div mnow per cases
( n >= 0 or n < 0 )
;
case A3:
n >= 0
;
:: thesis: idiv_prg n,m = n div mnow per cases
( m > 0 or m < 0 )
by A2;
case A5:
m < 0
;
:: thesis: idiv_prg n,m = n div mnow per cases
( (- m) * (idiv1_prg n,(- m)) = n or (- m) * (idiv1_prg n,(- m)) <> n )
;
case A6:
(- m) * (idiv1_prg n,(- m)) = n
;
:: thesis: idiv_prg n,m = n div mA7:
- m > 0
by A5, XREAL_1:60;
then reconsider m2 =
- m,
n2 =
n as
Element of
NAT by A3, INT_1:16;
A8:
idiv_prg n,
m = - (idiv1_prg n,(- m))
by A3, A5, A6, Def2;
idiv1_prg n,
(- m) = n2 div m2
by A7, Th9;
hence
idiv_prg n,
m = n div m
by A5, A6, A8, Th11;
:: thesis: verum end; case A9:
(- m) * (idiv1_prg n,(- m)) <> n
;
:: thesis: idiv_prg n,m = n div mA10:
- m > 0
by A5, XREAL_1:60;
then reconsider m2 =
- m,
n2 =
n as
Element of
NAT by A3, INT_1:16;
A11:
idiv_prg n,
m = (- (idiv1_prg n,(- m))) - 1
by A3, A5, A9, Def2;
idiv1_prg n,
(- m) = n2 div m2
by A10, Th9;
hence
idiv_prg n,
m = n div m
by A5, A9, A11, Th11;
:: thesis: verum end; end; end; hence
idiv_prg n,
m = n div m
;
:: thesis: verum end; end; end; hence
idiv_prg n,
m = n div m
;
:: thesis: verum end; case A12:
n < 0
;
:: thesis: idiv_prg n,m = n div mthen A13:
- n > 0
by XREAL_1:60;
now per cases
( m < 0 or m > 0 )
by A2;
case A17:
m > 0
;
:: thesis: idiv_prg n,m = n div mnow per cases
( m * (idiv1_prg (- n),m) = - n or m * (idiv1_prg (- n),m) <> - n )
;
case A18:
m * (idiv1_prg (- n),m) = - n
;
:: thesis: idiv_prg n,m = n div mreconsider m2 =
m,
n2 =
- n as
Element of
NAT by A13, A17, INT_1:16;
A19:
idiv_prg n,
m = - (idiv1_prg (- n),m)
by A12, A17, A18, Def2;
idiv1_prg (- n),
m = n2 div m2
by A17, Th9;
hence
idiv_prg n,
m = n div m
by A12, A17, A18, A19, Th11;
:: thesis: verum end; case A20:
m * (idiv1_prg (- n),m) <> - n
;
:: thesis: idiv_prg n,m = n div mreconsider m2 =
m,
n2 =
- n as
Element of
NAT by A13, A17, INT_1:16;
A21:
idiv_prg n,
m = (- (idiv1_prg (- n),m)) - 1
by A12, A17, A20, Def2;
idiv1_prg (- n),
m = n2 div m2
by A17, Th9;
hence
idiv_prg n,
m = n div m
by A12, A17, A20, A21, Th11;
:: thesis: verum end; end; end; hence
idiv_prg n,
m = n div m
;
:: thesis: verum end; end; end; hence
idiv_prg n,
m = n div m
;
:: thesis: verum end; end; end; hence
idiv_prg n,
m = n div m
;
:: thesis: verum end; end;