let S be non empty non void bool-correct 4,1 integer BoolSignature ; for X being non-empty ManySortedSet of the carrier of S
for T being b1,S -terms all_vars_including inheriting_operations free_in_itself vf-free integer VarMSAlgebra over S
for C being bool-correct 4,1 integer image of T
for I being integer SortSymbol of S
for t1, t2 being Element of T,I
for u being ManySortedFunction of FreeGen T, the Sorts of C holds (t1 mod t2) value_at (C,u) = (t1 value_at (C,u)) mod (t2 value_at (C,u))
let X be non-empty ManySortedSet of the carrier of S; for T being X,S -terms all_vars_including inheriting_operations free_in_itself vf-free integer VarMSAlgebra over S
for C being bool-correct 4,1 integer image of T
for I being integer SortSymbol of S
for t1, t2 being Element of T,I
for u being ManySortedFunction of FreeGen T, the Sorts of C holds (t1 mod t2) value_at (C,u) = (t1 value_at (C,u)) mod (t2 value_at (C,u))
let T be X,S -terms all_vars_including inheriting_operations free_in_itself vf-free integer VarMSAlgebra over S; for C being bool-correct 4,1 integer image of T
for I being integer SortSymbol of S
for t1, t2 being Element of T,I
for u being ManySortedFunction of FreeGen T, the Sorts of C holds (t1 mod t2) value_at (C,u) = (t1 value_at (C,u)) mod (t2 value_at (C,u))
let C be bool-correct 4,1 integer image of T; for I being integer SortSymbol of S
for t1, t2 being Element of T,I
for u being ManySortedFunction of FreeGen T, the Sorts of C holds (t1 mod t2) value_at (C,u) = (t1 value_at (C,u)) mod (t2 value_at (C,u))
let I be integer SortSymbol of S; for t1, t2 being Element of T,I
for u being ManySortedFunction of FreeGen T, the Sorts of C holds (t1 mod t2) value_at (C,u) = (t1 value_at (C,u)) mod (t2 value_at (C,u))
let t1, t2 be Element of T,I; for u being ManySortedFunction of FreeGen T, the Sorts of C holds (t1 mod t2) value_at (C,u) = (t1 value_at (C,u)) mod (t2 value_at (C,u))
let u be ManySortedFunction of FreeGen T, the Sorts of C; (t1 mod t2) value_at (C,u) = (t1 value_at (C,u)) mod (t2 value_at (C,u))
thus (t1 mod t2) value_at (C,u) =
(t1 - ((t1 div t2) * t2)) value_at (C,u)
.=
(t1 value_at (C,u)) - (((t1 div t2) * t2) value_at (C,u))
by Th56
.=
(t1 value_at (C,u)) - (((t1 div t2) value_at (C,u)) * (t2 value_at (C,u)))
by Th57
.=
(t1 value_at (C,u)) mod (t2 value_at (C,u))
by Th58
; verum