let a, r be Real; :: thesis: for i being Nat holds (ArProg (a,r)) . i = a + (i * r)
let i be Nat; :: thesis: (ArProg (a,r)) . i = a + (i * r)
defpred S1[ Nat] means (ArProg (a,r)) . $1 = a + ($1 * r);
(ArProg (a,r)) . 0 = a + (0 * r) by ArDefRec;
then A1: S1[ 0 ] ;
A2: for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be Nat; :: thesis: ( S1[k] implies S1[k + 1] )
assume A3: S1[k] ; :: thesis: S1[k + 1]
(ArProg (a,r)) . (k + 1) = ((ArProg (a,r)) . k) + r by ArDefRec;
hence S1[k + 1] by A3; :: thesis: verum
end;
for n being Nat holds S1[n] from NAT_1:sch 2(A1, A2);
hence (ArProg (a,r)) . i = a + (i * r) ; :: thesis: verum