[Imprint][Data Privacy Statement][E-Mail]
Back to main index.
View the specification.
View theorem base summary,
View theorem base listing,
the used properties by spec,
the dependency list,
the symbol table,
enrich
matrix+array,
list-as-arrayinstance
,
nat-mult
with
functions
toArr : matrix × nat → array;
comment: concatenate the rows upto row n into a long array;
. .toArr : matrix → array;
comment: concatenate all rows into a long array;
toArc : matrix × nat → array;
comment: concatenate the columns upto row n elemo a long array;
. .toArc : matrix → array;
comment: concatenate all columns elemo a long array;
variables
mx : matrix;
a : array;
i : elem;
j : elem;
m : nat;
n : nat;
r : nat;
c : nat;
partial functions
. [ . ]r : matrix × nat × array → matrix with λ mx, r, a. r < #r mx ∧ # a = #c mx;
comment: mx[r, a]r overwrites row r of mx with a. Identity if row is outside matrix;
. [ . ]c : matrix × nat × array → matrix with λ mx, c, a. c < #c mx ∧ # a = #r mx;
comment: mx[c, a]r overwrites column c of mx with a. Identity if row is outside matrix;
axioms
rowno-updrow: #c mx = # a ⊦ #r mx[r, a]r = #r mx;
used for: ls;
rowno-updcol: #r mx = # a ⊦ #r mx[c, a]c = #r mx;
used for: ls;
colno-updrow: #c mx = # a ⊦ #c mx[r, a]r = #c mx;
used for: ls;
colno-updcol: #r mx = # a ⊦ #c mx[c, a]c = #c mx;
used for: ls;
updrow-sel: # a = #c mx ∧ r0 < #r mx ∧ c0 < #c mx → mx[r, a]r[r0, c0] = (r = r0 ⊃ a[c0];mx[r0, c0]);
used for: s, ls;
updcol-sel: # a = #r mx ∧ c0 < #c mx ∧ c0 < #c mx → mx[c, a]c[r0, c0] = (c = c0 ⊃ a[r0];mx[r0, c0]);
used for: s, ls;
toArr-def: mx.toArr = toArr(mx, #r mx);
toArr-base: toArr(mx, 0) = [];
used for: ls;
toArr-rec: toArr(mx, m + 1) = toArr(mx, m) + mx[m]r;
used for: ls;
toArc-def: mx.toArc = toArc(mx, #c mx);
toArc-base: toArc(mx, 0) = [];
used for: ls;
toArc-rec: toArc(mx, m + 1) = toArc(mx, m) + mx[m]c;
used for: ls;
end enrich