[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
[mizar] Last revision
Two more changes doen in the last revision (Mizar 7.8.04 MML 4.80.962):
A. The Swap functor originaly introduced in FINSEQ_7 was generalized and
put in FUNCT_7;
let F be Function; let x,y be set;
func Swap(F,x,y) equals
:: FUNCT_7:def 12
F+*(x,F.y)+*(y,F.x) if x in dom F & y in dom F
otherwise F;
the original definition was left as a redefinition:
let D be non empty set;
let f be FinSequence of D;
let i, j be Nat;
redefine func Swap(f, i, j) -> FinSequence of D equals
:: FINSEQ_7:def 2
Replace(Replace(f, i, f/.j), j, f/.i)
if 1 <= i & i <= len f & 1 <= j & j <= len f
otherwise f;
B. Because we cannot redefine or register numerals it is useful to
have an identity functor for natural numbers.
Such a functor was introduced twice: in ALGSEQ_1 (under the name
PSeg, however the Mother Type was "Subset of NAT", not "Nat") and in
GR_CY_1 (under the name Segm; actually it was a permissive definition,
with the Mother Type: "non empty Subset of Nat" under the condition that
the argument is non zero).
let n be natural number;
func Segm n -> set equals
:: CARD_1:def 12
n;
with a redefinition (to get "Subset of NAT') is now in CARD_1.
The definition in ALGSEQ_1 is removed, and in GR_CY_1 is substituted by
a registration:
registration let n be non zero natural number;
cluster Segm n -> non empty;
end;
The original definitions has the definiens
{ k : k < n }
so one have to refer to AXIOMS:30, sometimes.
Regards,
Andrzej