msafree5.miz
begin
definition
let S be non
empty non
void
ManySortedSign;
let A be
non-empty
MSAlgebra over S;
let s be
SortSymbol of S;
mode
Element of A,s is
Element of (the
Sorts of A
. s);
end
reserve a,b for
object,
I,J for
set,
f for
Function,
R for
Relation,
i,j,n for
Nat,
m for
Element of
NAT ,
S for non
empty non
void
ManySortedSign,
s,s1,s2 for
SortSymbol of S,
o for
OperSymbol of S,
X for
non-empty
ManySortedSet of the
carrier of S,
x,x1,x2 for
Element of (X
. s),
x11 for
Element of (X
. s1),
T for
all_vars_including
inheriting_operations
free_in_itselfX, S
-terms
MSAlgebra over S,
g for
Translation of (
Free (S,X)), s1, s2,
h for
Endomorphism of (
Free (S,X));
definition
let S, X;
let T be
all_vars_includingX, S
-terms
MSAlgebra over S;
let r be
Element of T;
::
MSAFREE5:def1
func
@ r ->
Element of (
Free (S,X)) equals r;
coherence by
MSAFREE4: 39;
end
registration
let S, X, T;
cluster ->
finite for
Element of T;
coherence
proof
let r be
Element of T;
(
@ r)
= r;
hence thesis;
end;
end
registration
cluster
natural-membered ->
c=-linear for
set;
coherence
proof
let X be
set;
assume
A1: for x be
object st x
in X holds x is
natural;
let x,y be
set;
assume x
in X & y
in X;
then
reconsider a = x, b = y as
Nat by
A1;
(a,b)
are_c=-comparable by
ORDINAL1: 15;
hence thesis;
end;
end
reserve r,r1,r2 for
Element of T,
t,t1,t2 for
Element of (
Free (S,X));
definition
let S;
let A be
MSAlgebra over S;
let a;
::
MSAFREE5:def2
pred a
in A means
:
ELEM: a
in (
Union the
Sorts of A);
end
definition
let a, b;
::
MSAFREE5:def3
attr b is a
-different means
:
DIFF: b
<> a;
end
registration
let I be non
trivial
set;
let a;
cluster a
-different for
Element of I;
existence
proof
a is
set by
TARSKI: 1;
then
consider i be
Element of I such that
A1: i
<> a by
SUBSET_1: 50;
take i;
thus i
<> a by
A1;
end;
end
theorem ::
MSAFREE5:1
Th01: for t,t1 be
Tree, p,q be
FinSequence of
NAT st p
in t & q
in (t
with-replacement (p,t1)) holds ( not p
is_a_prefix_of q implies q
in t) & for r be
FinSequence of
NAT st q
= (p
^ r) holds r
in t1
proof
let t,t1 be
Tree;
let p,q be
FinSequence of
NAT ;
assume
Z0: p
in t;
assume
Z1: q
in (t
with-replacement (p,t1));
thus ( not p
is_a_prefix_of q implies q
in t)
proof
assume not p
is_a_prefix_of q;
then not ex r be
FinSequence of
NAT st r
in t1 & q
= (p
^ r) by
TREES_1: 1;
hence q
in t by
Z0,
Z1,
TREES_1:def 9;
end;
let r be
FinSequence of
NAT ;
assume
Z3: q
= (p
^ r);
then p
c= q by
TREES_1: 1;
then p
c< q or p
= q & p
= (p
^
{} ) by
XBOOLE_0:def 8,
FINSEQ_1: 34;
then ex r be
FinSequence of
NAT st r
in t1 & q
= (p
^ r) by
Z0,
Z1,
TREES_1: 22,
TREES_1:def 9;
hence r
in t1 by
Z3,
FINSEQ_1: 33;
end;
theorem ::
MSAFREE5:2
Lem8: for p,q,r be
FinSequence st (p
^ q)
is_a_prefix_of r holds p
is_a_prefix_of r
proof
let p,q,r be
FinSequence;
assume (p
^ q)
is_a_prefix_of r;
then
consider n be
FinSequence such that
A1: r
= ((p
^ q)
^ n) by
TREES_1: 1;
r
= (p
^ (q
^ n)) by
A1,
FINSEQ_1: 32;
hence p
is_a_prefix_of r by
TREES_1: 1;
end;
theorem ::
MSAFREE5:3
Lem8A: for p,q,r be
FinSequence st (p
^ q)
is_a_prefix_of (p
^ r) holds q
is_a_prefix_of r
proof
let p,q,r be
FinSequence;
assume (p
^ q)
is_a_prefix_of (p
^ r);
then
consider n be
FinSequence such that
A1: (p
^ r)
= ((p
^ q)
^ n) by
TREES_1: 1;
(p
^ r)
= (p
^ (q
^ n)) by
A1,
FINSEQ_1: 32;
then r
= (q
^ n) by
FINSEQ_1: 33;
hence q
is_a_prefix_of r by
TREES_1: 1;
end;
theorem ::
MSAFREE5:4
LemP: for p,q be
FinSequence st i
<= (
len p) holds ((p
^ q)
| (
Seg i))
= (p
| (
Seg i))
proof
let p,q be
FinSequence;
set D = (((
rng p)
\/ (
rng q))
\/
{
0 });
(
rng p)
c= ((
rng p)
\/ (
rng q)) & (
rng q)
c= ((
rng p)
\/ (
rng q)) by
XBOOLE_1: 7;
then p is
FinSequence of D & q is
FinSequence of D & ((p
^ q)
| i)
= ((p
^ q)
| (
Seg i)) & (p
| (
Seg i))
= (p
| i) by
FINSEQ_1:def 4,
XBOOLE_1: 10;
hence thesis by
FINSEQ_5: 22;
end;
theorem ::
MSAFREE5:5
Lem8B: for p,q,r be
FinSequence st q
is_a_prefix_of (p
^ r) holds q
is_a_prefix_of p or p
is_a_prefix_of q
proof
let p,q,r be
FinSequence;
given i such that
Z0: q
= ((p
^ r)
| (
Seg i));
per cases ;
suppose (
len p)
<= i;
then
consider j such that
A1: i
= ((
len p)
+ j) by
NAT_1: 10;
q
= (p
^ (r
| (
Seg j))) by
Z0,
A1,
FINSEQ_6: 14;
hence thesis by
TREES_1: 1;
end;
suppose (
len p)
>= i;
then q
= (p
| (
Seg i)) by
Z0,
LemP;
hence thesis by
TREES_1:def 1;
end;
end;
definition
let S;
::
MSAFREE5:def4
attr S is
sufficiently_rich means
:
SR: for s holds ex o st s
in (
rng (
the_arity_of o));
::
MSAFREE5:def5
attr S is
growable means for X, n holds ex t st (
height (
dom t))
= n;
end
definition
let n, S;
::
MSAFREE5:def6
attr S is n
-ary_oper_including means ex o st (
len (
the_arity_of o))
= n;
end
registration
let n;
cluster n
-ary_oper_including for non
empty non
void
ManySortedSign;
existence
proof
take S =
ManySortedSign (#
{
0 },
{1}, (
{1}
--> (
In ((n
|->
0 ),(
{
0 }
* )))), (
{1}
--> (
In (
0 ,
{
0 }))) #);
take o = (
In (1,the
carrier' of S));
A2: o
= 1 & (
In (
0 ,
{
0 }))
=
0 by
TARSKI:def 1;
(n
|-> (
In (
0 ,
{
0 }))) is
FinSequence of
{
0 };
then (n
|->
0 )
in (
{
0 }
* ) by
A2,
FINSEQ_1:def 11;
then (
the_arity_of o)
= (n
|->
0 ) by
SUBSET_1:def 8;
hence (
len (
the_arity_of o))
= n by
CARD_1:def 7;
end;
end
registration
cluster
sufficiently_rich for non
empty non
void
ManySortedSign;
existence
proof
set n = 1;
take S =
ManySortedSign (#
{
0 },
{1}, (
{1}
--> (
In ((n
|->
0 ),(
{
0 }
* )))), (
{1}
--> (
In (
0 ,
{
0 }))) #);
let s be
SortSymbol of S;
take o = (
In (1,the
carrier' of S));
A1: 1
in
{1} &
0
in
{
0 } & s
=
0 by
TARSKI:def 1;
A2: o
= 1 & (
In (
0 ,
{
0 }))
=
0 by
TARSKI:def 1;
(n
|-> (
In (
0 ,
{
0 }))) is
FinSequence of
{
0 };
then (n
|->
0 )
in (
{
0 }
* ) by
A2,
FINSEQ_1:def 11;
then (
the_arity_of o)
= (n
|->
0 )
=
<*
0 *> by
SUBSET_1:def 8,
FINSEQ_2: 59;
hence s
in (
rng (
the_arity_of o)) by
A1,
FINSEQ_1: 39;
end;
end
definition
let R;
::
MSAFREE5:def7
attr R is
non-trivial means
:
NT: I
in (
rng R) implies I is non
trivial;
::
MSAFREE5:def8
attr R is
infinite-yielding means
:
INF: I
in (
rng R) implies I is
infinite;
end
registration
cluster
non-trivial ->
non-empty for
Relation;
coherence
proof
let r be
Relation;
assume I
in (
rng r) implies I is non
trivial;
hence not
{}
in (
rng r);
end;
cluster
infinite-yielding ->
non-trivial for
Relation;
coherence ;
end
registration
let I be
set;
cluster
infinite-yielding for
ManySortedSet of I;
existence
proof
take f = (I
-->
omega );
let J be
set;
assume
A1: J
in (
rng f);
(
rng f)
c=
{
omega } by
FUNCOP_1: 13;
hence thesis by
A1,
TARSKI:def 1;
end;
end
registration
cluster
infinite-yielding for
FinSequence;
existence
proof
take f =
{} ;
let I;
assume I
in (
rng f);
hence thesis;
end;
end
registration
let I be non
empty
set;
let f be
non-trivial
ManySortedSet of I;
let a be
Element of I;
cluster (f
. a) -> non
trivial;
coherence by
NT;
end
registration
let I be non
empty
set;
let f be
infinite-yielding
ManySortedSet of I;
let a be
Element of I;
cluster (f
. a) ->
infinite;
coherence by
INF;
end
registration
let S, X, o;
cluster ->
DTree-yielding for
Element of (
Args (o,(
Free (S,X))));
coherence
proof
(
Free (S,X))
= (
FreeMSA X) by
MSAFREE3: 31;
hence thesis;
end;
end
reserve Y for
infinite-yielding
ManySortedSet of the
carrier of S,
y,y1 for
Element of (Y
. s),
y11 for
Element of (Y
. s1),
Q for
all_vars_including
inheriting_operations
free_in_itselfY, S
-terms
MSAlgebra over S,
q,q1 for
Element of (
Args (o,(
Free (S,Y)))),
u,u1,u2 for
Element of Q,
v,v1,v2 for
Element of (
Free (S,Y)),
Z for
non-trivial
ManySortedSet of the
carrier of S,
z,z1 for
Element of (Z
. s),
l,l1 for
Element of (
Free (S,Z)),
R for
all_vars_including
inheriting_operations
free_in_itselfZ, S
-terms
MSAlgebra over S,
k,k1 for
Element of (
Args (o,(
Free (S,Z))));
registration
let p be
FinSequence;
reduce (p
^
{} ) to p;
reducibility by
FINSEQ_1: 34;
reduce (
{}
^ p) to p;
reducibility by
FINSEQ_1: 34;
end
definition
let I be
FinSequence-membered
set;
let p be
FinSequence;
::
MSAFREE5:def9
func p
^^ I ->
set equals { (p
^ q) where q be
Element of I : q
in I };
coherence ;
end
registration
let I be
FinSequence-membered
set;
let p be
FinSequence;
cluster (p
^^ I) ->
FinSequence-membered;
coherence
proof
let J be
object;
assume J
in (p
^^ I);
then ex q be
Element of I st J
= (p
^ q) & q
in I;
hence thesis;
end;
end
registration
let f be
FinSequence, E be
empty
set;
reduce (f
^^ E) to E;
reducibility
proof
reconsider X =
{} as
FinSequence-membered
set;
thus (f
^^ E)
c= E
proof
let a;
assume a
in (f
^^ E);
then ex p be
Element of X st a
= (f
^ p) & p
in X;
hence thesis;
end;
thus thesis;
end;
end
registration
let p be
DTree-yielding
FinSequence;
let a;
cluster (p
. a) ->
Relation-like;
coherence ;
end
registration
cluster
Tree-like ->
FinSequence-membered for
set;
coherence
proof
let A be
set;
assume A is
Tree-like;
then A
c= (
NAT
* ) by
TREES_1:def 3;
hence thesis;
end;
end
registration
let p be
DTree-yielding
FinSequence;
let a;
cluster (
dom (p
. a)) ->
FinSequence-membered;
coherence
proof
reconsider a as
set by
TARSKI: 1;
a
in (
dom p) or a
nin (
dom p);
per cases by
FUNCT_1:def 2,
TREES_3: 24;
suppose (p
. a) is
DecoratedTree;
then
reconsider t = (p
. a) as
DecoratedTree;
(
dom t) is
Tree;
hence thesis;
end;
suppose (p
. a) is
empty;
then
reconsider t = (p
. a) as
empty
set;
(
dom t) is
empty;
hence thesis;
end;
end;
end
registration
let t,t1 be
Tree;
reduce (t1
with-replacement ((
<*>
NAT ),t)) to t;
reducibility
proof
let p be
FinSequence of
NAT ;
A3:
{}
in t1 by
TREES_1: 22;
then
A2: p
in (t1
with-replacement ((
<*>
NAT ),t)) iff p
in t1 & not
{}
is_a_proper_prefix_of p or ex r be
FinSequence of
NAT st r
in t & p
= (
{}
^ r) by
TREES_1:def 9;
hereby
assume p
in (t1
with-replacement ((
<*>
NAT ),t));
per cases by
A2,
XBOOLE_1: 61;
suppose
{}
= p;
hence p
in t by
TREES_1: 22;
end;
suppose ex r be
FinSequence of
NAT st r
in t & p
= (
{}
^ r);
hence p
in t;
end;
end;
assume p
in t;
then p
in t & p
= (
{}
^ p);
hence thesis by
A3,
TREES_1:def 9;
end;
end
registration
let d,d1 be
DecoratedTree;
reduce (d1
with-replacement ((
<*>
NAT ),d)) to d;
reducibility
proof
A0: (
<*>
NAT )
in (
dom d1) by
TREES_1: 22;
then
A1: (
dom (d1
with-replacement ((
<*>
NAT ),d)))
= ((
dom d1)
with-replacement ((
<*>
NAT ),(
dom d))) by
TREES_2:def 11;
hence (
dom (d1
with-replacement ((
<*>
NAT ),d)))
= (
dom d);
let p be
Element of (
dom (d1
with-replacement ((
<*>
NAT ),d)));
not
{}
is_a_prefix_of p & ((d1
with-replacement ((
<*>
NAT ),d))
. p)
= (d1
. p) or ex r be
FinSequence of
NAT st r
in (
dom d) & p
= (
{}
^ r) & ((d1
with-replacement ((
<*>
NAT ),d))
. p)
= (d
. r) by
A0,
A1,
TREES_2:def 11;
hence ((d1
with-replacement ((
<*>
NAT ),d))
. p)
= (d
. p);
end;
end
theorem ::
MSAFREE5:6
Th124: for xi,w be
FinSequence of
NAT holds for p,q be
Tree-yielding
FinSequence holds for d,t be
Tree st i
< (
len p) & xi
= (
<*i*>
^ w) & d
= (p
. (i
+ 1)) & q
= (p
+* ((i
+ 1),(d
with-replacement (w,t)))) & xi
in (
tree p) holds ((
tree p)
with-replacement (xi,t))
= (
tree q)
proof
let xi,w be
FinSequence of
NAT ;
let p,q be
Tree-yielding
FinSequence;
let d,t be
Tree;
assume
Z0: i
< (
len p);
assume
Z1: xi
= (
<*i*>
^ w);
assume
Z2: d
= (p
. (i
+ 1));
assume
Z3: q
= (p
+* ((i
+ 1),(d
with-replacement (w,t))));
assume
Z4: xi
in (
tree p);
consider j be
Nat, u be
FinSequence such that
A2: j
< (
len p) & u
in (p
. (j
+ 1)) & xi
= (
<*j*>
^ u) by
Z1,
Z4,
TREES_3:def 15;
A3: i
= (xi
. 1)
= j & w
= u by
Z1,
A2,
FINSEQ_1: 41,
HILBERT2: 2;
(
dom p)
= (
dom q) by
Z3,
FUNCT_7: 30;
then
A4: (
len p)
= (
len q) by
FINSEQ_3: 29;
1
<= (i
+ 1)
<= (
len p) by
Z0,
NAT_1: 12,
NAT_1: 13;
then
AA: (i
+ 1)
in (
dom p) by
FINSEQ_3: 25;
then
A7: (q
. (i
+ 1))
= (d
with-replacement (w,t)) by
Z3,
FUNCT_7: 31;
let n be
FinSequence of
NAT ;
hereby
assume n
in ((
tree p)
with-replacement (xi,t));
per cases by
Z4,
TREES_1:def 9;
suppose
A8: n
in (
tree p) & not xi
is_a_proper_prefix_of n;
per cases by
TREES_3:def 15;
suppose n
=
{} ;
hence n
in (
tree q) by
TREES_1: 22;
end;
suppose ex j be
Nat, u be
FinSequence st j
< (
len p) & u
in (p
. (j
+ 1)) & n
= (
<*j*>
^ u);
then
consider j be
Nat, u be
FinSequence such that
A9: j
< (
len p) & u
in (p
. (j
+ 1)) & n
= (
<*j*>
^ u);
per cases ;
suppose (j
+ 1)
<> (i
+ 1);
then (q
. (j
+ 1))
= (p
. (j
+ 1)) by
Z3,
FUNCT_7: 32;
hence n
in (
tree q) by
A4,
A9,
TREES_3:def 15;
end;
suppose
B1: j
= i;
xi
= n or not xi
c= n by
A8,
XBOOLE_0:def 8;
then
B2: not w
is_a_proper_prefix_of u by
Z1,
A9,
B1,
HILBERT2: 2,
FINSEQ_6: 13,
XBOOLE_0:def 8;
u is
Element of d by
Z2,
A9,
B1;
then u
in (d
with-replacement (w,t)) by
A2,
A3,
Z2,
B2,
TREES_1:def 9;
hence n
in (
tree q) by
A4,
A7,
A9,
B1,
TREES_3:def 15;
end;
end;
end;
suppose ex r be
FinSequence of
NAT st r
in t & n
= (xi
^ r);
then
consider r be
FinSequence of
NAT such that
A1: r
in t & n
= (xi
^ r);
(w
^ r)
in (d
with-replacement (w,t)) by
A1,
A2,
A3,
Z2,
TREES_1:def 9;
then (
<*i*>
^ (w
^ r))
in (
tree q) by
Z0,
A4,
A7,
TREES_3:def 15;
hence n
in (
tree q) by
Z1,
A1,
FINSEQ_1: 32;
end;
end;
assume n
in (
tree q);
per cases by
TREES_3:def 15;
suppose n
=
{} ;
hence thesis by
TREES_1: 22;
end;
suppose ex i st ex w be
FinSequence st i
< (
len q) & w
in (q
. (i
+ 1)) & n
= (
<*i*>
^ w);
then
consider j be
Nat, u be
FinSequence such that
C1: j
< (
len q) & u
in (q
. (j
+ 1)) & n
= (
<*j*>
^ u);
per cases ;
suppose
C5: (i
+ 1)
<> (j
+ 1);
then (q
. (j
+ 1))
= (p
. (j
+ 1)) & i
<> j by
Z3,
FUNCT_7: 32;
then
C3: n
in (
tree p) by
A4,
C1,
TREES_3:def 15;
not
<*i*>
c= (
<*j*>
^ u) by
C5,
TREES_1: 50;
then not xi
c< n by
Z1,
C1,
Lem8,
XBOOLE_0:def 8;
hence thesis by
Z4,
C3,
TREES_1:def 9;
end;
suppose
C4: i
= j;
then
reconsider u as
Element of (d
with-replacement (w,t)) by
AA,
C1,
Z3,
FUNCT_7: 31;
per cases by
A2,
A3,
Z2,
TREES_1:def 9;
suppose u
in d & not w
c< u;
then n
in (
tree p) & not xi
c< n by
Z1,
Z2,
A4,
C1,
C4,
TREES_1: 49,
TREES_3:def 15;
hence thesis by
Z4,
TREES_1:def 9;
end;
suppose ex r be
FinSequence of
NAT st r
in t & u
= (w
^ r);
then
consider r be
FinSequence of
NAT such that
C5: r
in t & u
= (w
^ r);
n
= (xi
^ r) by
Z1,
C1,
C4,
C5,
FINSEQ_1: 32;
hence thesis by
Z4,
C5,
TREES_1:def 9;
end;
end;
end;
end;
registration
let F be
Function-yielding
Function;
let f be
Function;
let a;
cluster (F
+* (a,f)) ->
Function-yielding;
coherence
proof
let b;
assume b
in (
dom (F
+* (a,f)));
then
A1: b
in (
dom F) by
FUNCT_7: 30;
per cases ;
suppose a
= b;
hence thesis by
A1,
FUNCT_7: 31;
end;
suppose a
<> b;
then ((F
+* (a,f))
. b)
= (F
. b) by
FUNCT_7: 32;
hence thesis;
end;
end;
end
theorem ::
MSAFREE5:7
Lem12: for F be
Function-yielding
Function, f be
Function holds (
doms (F
+* (a,f)))
= ((
doms F)
+* (a,(
dom f)))
proof
let F be
Function-yielding
Function;
let f be
Function;
A1: (
dom (
doms (F
+* (a,f))))
= (
dom (F
+* (a,f)))
= (
dom F)
= (
dom (
doms F))
= (
dom ((
doms F)
+* (a,(
dom f)))) by
FUNCT_6:def 2,
FUNCT_7: 30;
hence (
dom (
doms (F
+* (a,f))))
= (
dom ((
doms F)
+* (a,(
dom f))));
let b;
assume
A2: b
in (
dom (
doms (F
+* (a,f))));
then
A3: ((
doms (F
+* (a,f)))
. b)
= (
dom ((F
+* (a,f))
. b)) by
A1,
FUNCT_6:def 2;
per cases ;
suppose
A4: a
= b;
hence ((
doms (F
+* (a,f)))
. b)
= (
dom f) by
A1,
A2,
A3,
FUNCT_7: 31
.= (((
doms F)
+* (a,(
dom f)))
. b) by
A1,
A2,
A4,
FUNCT_7: 31;
end;
suppose
A4: a
<> b;
hence ((
doms (F
+* (a,f)))
. b)
= (
dom (F
. b)) by
A3,
FUNCT_7: 32
.= ((
doms F)
. b) by
A1,
A2,
FUNCT_6:def 2
.= (((
doms F)
+* (a,(
dom f)))
. b) by
A4,
FUNCT_7: 32;
end;
end;
theorem ::
MSAFREE5:8
Th123: for xi,w be
FinSequence of
NAT holds for p,q be
DTree-yielding
FinSequence holds for d,t be
DecoratedTree st i
< (
len p) & xi
= (
<*i*>
^ w) & d
= (p
. (i
+ 1)) & q
= (p
+* ((i
+ 1),(d
with-replacement (w,t)))) & xi
in (
tree (
doms p)) holds ((a
-tree p)
with-replacement (xi,t))
= (a
-tree q)
proof
let xi,w be
FinSequence of
NAT ;
let p,q be
DTree-yielding
FinSequence;
let d,t be
DecoratedTree;
assume
Z0: i
< (
len p);
assume
Z1: xi
= (
<*i*>
^ w);
assume
Z2: d
= (p
. (i
+ 1));
assume
Z3: q
= (p
+* ((i
+ 1),(d
with-replacement (w,t))));
assume
Z4: xi
in (
tree (
doms p));
A1: (
dom (a
-tree p))
= (
tree (
doms p)) & (
dom (a
-tree q))
= (
tree (
doms q)) by
TREES_4: 10;
AA: (
doms q)
= ((
doms p)
+* ((i
+ 1),(
dom (d
with-replacement (w,t))))) by
Z3,
Lem12;
consider j be
Nat, u be
FinSequence such that
A2: j
< (
len (
doms p)) & u
in ((
doms p)
. (j
+ 1)) & xi
= (
<*j*>
^ u) by
Z1,
Z4,
TREES_3:def 15;
A3: i
= (xi
. 1)
= j & w
= u by
Z1,
A2,
FINSEQ_1: 41,
HILBERT2: 2;
1
<= (i
+ 1)
<= (
len p) by
Z0,
NAT_1: 12,
NAT_1: 13;
then (i
+ 1)
in (
dom p) by
FINSEQ_3: 25;
then
A4: w
in (
dom d)
= ((
doms p)
. (i
+ 1)) by
Z2,
A2,
A3,
FUNCT_6:def 2;
then (
dom (d
with-replacement (w,t)))
= ((
dom d)
with-replacement (w,(
dom t))) by
TREES_2:def 11;
then
A5: (
dom ((a
-tree p)
with-replacement (xi,t)))
= ((
tree (
doms p))
with-replacement (xi,(
dom t)))
= (
tree (
doms q)) by
Z4,
A1,
AA,
A2,
A3,
A4,
Th124,
TREES_2:def 11;
hence (
dom ((a
-tree p)
with-replacement (xi,t)))
= (
dom (a
-tree q)) by
TREES_4: 10;
A8: (
dom (
doms q))
= (
dom q)
= (
dom p)
= (
dom (
doms p)) by
Z3,
FUNCT_6:def 2,
FUNCT_7: 30;
then
A7: (
len (
doms q))
= (
len q)
= (
len p)
= (
len (
doms p)) by
FINSEQ_3: 29;
let nu be
Element of (
dom ((a
-tree p)
with-replacement (xi,t)));
per cases by
A5,
TREES_3:def 15;
suppose
A6: nu
=
{} ;
then not ex r be
FinSequence of
NAT st r
in (
dom t) & nu
= (xi
^ r) & (((a
-tree p)
with-replacement (xi,t))
. nu)
= (t
. r) by
Z1;
hence (((a
-tree p)
with-replacement (xi,t))
. nu)
= ((a
-tree p)
. nu) by
Z4,
A1,
A5,
TREES_2:def 11
.= a by
A6,
TREES_4:def 4
.= ((a
-tree q)
. nu) by
A6,
TREES_4:def 4;
end;
suppose ex j st ex r be
FinSequence st j
< (
len (
doms q)) & r
in ((
doms q)
. (j
+ 1)) & nu
= (
<*j*>
^ r);
then
consider j be
Nat, r be
FinSequence such that
A6: j
< (
len (
doms q)) & r
in ((
doms q)
. (j
+ 1)) & nu
= (
<*j*>
^ r);
AB: 1
<= (j
+ 1)
<= (
len p) by
A6,
A7,
NAT_1: 12,
NAT_1: 13;
then
A9: (j
+ 1)
in (
dom p) by
FINSEQ_3: 25;
per cases ;
suppose
A10: j
<> i;
then (j
+ 1)
<> (i
+ 1);
then
A11: (
dom (q
. (j
+ 1)))
= ((
doms q)
. (j
+ 1))
= ((
doms p)
. (j
+ 1))
= (
dom (p
. (j
+ 1))) & (q
. (j
+ 1))
= (p
. (j
+ 1)) by
Z3,
AA,
A8,
AB,
FINSEQ_3: 25,
FUNCT_7: 32,
FUNCT_6:def 2;
reconsider t1 = (p
. (j
+ 1)) as
DecoratedTree by
A9,
TREES_3: 24;
not xi
c= nu by
A6,
Z1,
Lem8,
A10,
TREES_1: 50;
then not ex r be
FinSequence of
NAT st r
in (
dom t) & nu
= (xi
^ r) & (((a
-tree p)
with-replacement (xi,t))
. nu)
= (t
. r) by
TREES_1: 1;
hence (((a
-tree p)
with-replacement (xi,t))
. nu)
= ((a
-tree p)
. nu) by
Z4,
A1,
A5,
TREES_2:def 11
.= (t1
. r) by
A6,
A7,
A11,
TREES_4: 12
.= ((a
-tree q)
. nu) by
A6,
A7,
A11,
TREES_4: 12;
end;
suppose
A10: j
= i;
then
A11: (
dom (q
. (j
+ 1)))
= ((
doms q)
. (j
+ 1)) & ((
doms p)
. (j
+ 1))
= (
dom (p
. (j
+ 1))) & (q
. (j
+ 1))
= (d
with-replacement (w,t)) by
Z3,
A8,
AB,
FINSEQ_3: 25,
FUNCT_7: 31,
FUNCT_6:def 2;
then
reconsider r as
Element of ((
dom d)
with-replacement (w,(
dom t))) by
A6,
Z2,
A2,
A3,
A10,
TREES_2:def 11;
per cases ;
suppose
A12: w
c= r;
then
consider r2 be
FinSequence of
NAT such that
A13: r2
in (
dom t) & r
= (w
^ r2) & ((d
with-replacement (w,t))
. r)
= (t
. r2) by
Z2,
A2,
A3,
A10,
A11,
TREES_2:def 11;
xi
c= nu by
Z1,
A6,
A10,
A12,
FINSEQ_6: 13;
then
consider r3 be
FinSequence of
NAT such that
A15: r3
in (
dom t) & nu
= (xi
^ r3) & (((a
-tree p)
with-replacement (xi,t))
. nu)
= (t
. r3) by
Z4,
A5,
A1,
TREES_2:def 11;
nu
= (xi
^ r2) by
Z1,
A6,
A10,
A13,
FINSEQ_1: 32;
then (((a
-tree p)
with-replacement (xi,t))
. nu)
= (t
. r2) by
A15,
FINSEQ_1: 33;
hence thesis by
A13,
A6,
A7,
A11,
TREES_4: 12;
end;
suppose
A12: not w
c= r;
then
A13: not ex r2 be
FinSequence of
NAT st r2
in (
dom t) & r
= (w
^ r2) & ((d
with-replacement (w,t))
. r)
= (t
. r2) by
TREES_1: 1;
not ex r2 be
FinSequence of
NAT st r2
in (
dom t) & r
= (w
^ r2) by
A12,
TREES_1: 1;
then
A15: r
in (
dom d) by
Z2,
A2,
A3,
A10,
A11,
TREES_1:def 9;
not ex r be
FinSequence of
NAT st r
in (
dom t) & nu
= (xi
^ r) & (((a
-tree p)
with-replacement (xi,t))
. nu)
= (t
. r) by
A12,
A10,
A6,
Z1,
Lem8A,
TREES_1: 1;
hence (((a
-tree p)
with-replacement (xi,t))
. nu)
= ((a
-tree p)
. nu) by
Z4,
A1,
A5,
TREES_2:def 11
.= (d
. r) by
Z2,
A15,
A6,
A7,
A10,
TREES_4: 12
.= ((d
with-replacement (w,t))
. r) by
A13,
A4,
TREES_2:def 11
.= ((a
-tree q)
. nu) by
A6,
A7,
A11,
TREES_4: 12;
end;
end;
end;
end;
theorem ::
MSAFREE5:9
for a be
set, w be
DTree-yielding
FinSequence holds (
dom (a
-tree w))
= (
{
{} }
\/ (
union { (
<*i*>
^^ (
dom (w
. (i
+ 1)))) : i
< (
len w) }))
proof
let a be
set;
let w be
DTree-yielding
FinSequence;
set A = { (
<*i*>
^^ (
dom (w
. (i
+ 1)))) : i
< (
len w) };
thus (
dom (a
-tree w))
c= (
{
{} }
\/ (
union A))
proof
let b;
reconsider x = b as
set by
TARSKI: 1;
assume b
in (
dom (a
-tree w));
per cases by
TREES_4: 11;
suppose x
=
{} ;
then x
in
{
{} } by
TARSKI:def 1;
hence thesis by
XBOOLE_0:def 3;
end;
suppose ex i st ex T be
DecoratedTree, q be
Node of T st i
< (
len w) & T
= (w
. (i
+ 1)) & x
= (
<*i*>
^ q);
then
consider i be
Nat, T be
DecoratedTree, q be
Node of T such that
A1: i
< (
len w) & T
= (w
. (i
+ 1)) & x
= (
<*i*>
^ q);
x
in (
<*i*>
^^ (
dom T)) & (
<*i*>
^^ (
dom T))
in A by
A1;
then x
in (
union A) by
TARSKI:def 4;
hence thesis by
XBOOLE_0:def 3;
end;
end;
let b;
reconsider x = b as
set by
TARSKI: 1;
assume b
in (
{
{} }
\/ (
union A));
per cases by
XBOOLE_0:def 3;
suppose x
in
{
{} };
then x
=
{} ;
hence thesis by
TREES_4: 11;
end;
suppose x
in (
union A);
then
consider I such that
A2: x
in I & I
in A by
TARSKI:def 4;
consider i such that
A3: I
= (
<*i*>
^^ (
dom (w
. (i
+ 1)))) & i
< (
len w) by
A2;
consider q be
Element of (
dom (w
. (i
+ 1))) such that
A4: x
= (
<*i*>
^ q) & q
in (
dom (w
. (i
+ 1))) by
A2,
A3;
1
<= (i
+ 1)
<= (
len w) by
A3,
NAT_1: 11,
NAT_1: 13;
then (i
+ 1)
in (
dom w) by
FINSEQ_3: 25;
then (w
. (i
+ 1))
in (
rng w) by
FUNCT_1:def 3;
then
reconsider T = (w
. (i
+ 1)) as
DecoratedTree;
q
in (
dom T);
hence thesis by
A3,
A4,
TREES_4: 11;
end;
end;
registration
let p be
DTree-yielding
FinSequence;
let a, I;
cluster ((p
. a)
" I) ->
FinSequence-membered;
coherence
proof
((p
. a)
" I)
c= (
dom (p
. a)) by
RELAT_1: 132;
hence thesis;
end;
end
theorem ::
MSAFREE5:10
Th1: for I be
FinSequence-membered
set, p be
FinSequence holds (
card (p
^^ I))
= (
card I)
proof
let I be
FinSequence-membered
set;
let p be
FinSequence;
deffunc
F(
Element of I) = (p
^ $1);
consider f such that
A1: (
dom f)
= I & for q be
Element of I st q
in I holds (f
. q)
=
F(q) from
CLASSES1:sch 2;
A2: (
rng f)
= (p
^^ I)
proof
thus (
rng f)
c= (p
^^ I)
proof
let a;
reconsider x = a as
set by
TARSKI: 1;
assume a
in (
rng f);
then
consider b be
object such that
A3: b
in (
dom f) & x
= (f
. b) by
FUNCT_1:def 3;
reconsider b as
Element of I by
A1,
A3;
a
=
F(b) by
A1,
A3;
hence thesis by
A1,
A3;
end;
let a;
reconsider x = a as
set by
TARSKI: 1;
assume a
in (p
^^ I);
then
consider q be
Element of I such that
A4: a
= (p
^ q) & q
in I;
x
= (f
. q) by
A1,
A4;
hence thesis by
A1,
A4,
FUNCT_1:def 3;
end;
f is
one-to-one
proof
let a,b be
object;
assume
A5: a
in (
dom f) & b
in (
dom f);
then
reconsider a, b as
Element of I by
A1;
(f
. a)
= (p
^ a) & (f
. b)
= (p
^ b) by
A1,
A5;
hence thesis by
FINSEQ_1: 33;
end;
hence (
card (p
^^ I))
= (
card I) by
A1,
A2,
CARD_1: 70;
end;
registration
let I be
finite
FinSequence-membered
set;
let p be
FinSequence;
cluster (p
^^ I) ->
finite;
coherence
proof
(
card (p
^^ I))
= (
card I) by
Th1;
hence thesis;
end;
end
theorem ::
MSAFREE5:11
Th2: for I,J be
FinSequence-membered
set, p,q be
FinSequence st (
len p)
= (
len q) & p
<> q holds (p
^^ I)
misses (q
^^ J)
proof
let I,J be
FinSequence-membered
set;
let p,q be
FinSequence;
assume
Z0: (
len p)
= (
len q);
assume
Z1: p
<> q;
assume (p
^^ I)
meets (q
^^ J);
then
consider a be
object such that
A1: a
in (p
^^ I) & a
in (q
^^ J) by
XBOOLE_0: 3;
consider p1 be
Element of I such that
A2: a
= (p
^ p1) & p1
in I by
A1;
consider q1 be
Element of J such that
A3: a
= (q
^ q1) & q1
in J by
A1;
(
dom p)
= (
Seg (
len p)) & (
dom q)
= (
Seg (
len q)) by
FINSEQ_1:def 3;
then p
= ((p
^ p1)
| (
dom p))
= q by
A2,
A3,
Z0,
FINSEQ_1: 21;
hence thesis by
Z1;
end;
registration
let i;
reduce (
card i) to i;
reducibility ;
let j;
identify i
+ j with i
+` j;
compatibility
proof
(
card i)
= i & (
card j)
= j & (
card (i
+ j))
= (i
+ j);
hence thesis by
CARD_2: 38;
end;
end
scheme ::
MSAFREE5:sch1
CardUnion { I(
object) ->
set , f() ->
FinSequence of
NAT } :
(
card (
union { I(i) : i
< (
len f()) }))
= (
Sum f())
provided
A1: for i, j st i
< (
len f()) & j
< (
len f()) & i
<> j holds I(i)
misses I(j)
and
A2: for i st i
< (
len f()) holds (
card I(i))
= (f()
. (i
+ 1));
set A = { I(i) : i
< (
len f()) };
defpred
P[
Nat] means $1
<= (
len f()) implies for f be
FinSequence of
NAT st (
len f)
= $1 & for i st i
< $1 holds (
card I(i))
= (f
. (i
+ 1)) holds (
card (
union { I(i) : i
< $1 }))
= (
Sum f);
A3:
P[
0 ]
proof
assume
0
<= (
len f());
let f be
FinSequence of
NAT ;
assume (
len f)
=
0 ;
then
reconsider f as
empty
FinSequence of
NAT ;
{ I(i) : i
<
0 }
c=
{}
proof
let a;
assume a
in { I(i) : i
<
0 };
then ex i st a
= I(i) & i
<
0 ;
hence thesis;
end;
then { I(i) : i
<
0 }
=
{}
= (
union
{} ) & (
Sum f)
=
0 by
ZFMISC_1: 2,
RVSUM_1: 72;
hence thesis;
end;
A4:
P[n] implies
P[(n
+ 1)]
proof
assume
A5:
P[n];
assume
B0: (n
+ 1)
<= (
len f());
then
B1: n
< (
len f()) by
NAT_1: 13;
let f be
FinSequence of
NAT ;
assume
A6: (
len f)
= (n
+ 1) & for i st i
< (n
+ 1) holds (
card I(i))
= (f
. (i
+ 1));
then
consider f1 be
FinSequence of
NAT , j be
Element of
NAT such that
A8: f
= (f1
^
<*j*>) by
FINSEQ_2: 19;
B5: n
< (n
+ 1) by
NAT_1: 13;
B6: (
len f)
= ((
len f1)
+ 1) by
A8,
FINSEQ_2: 16;
B2: for i st i
< n holds (
card I(i))
= (f1
. (i
+ 1))
proof
let i;
assume
D1: i
< n;
then 1
<= (i
+ 1)
<= n by
NAT_1: 11,
NAT_1: 13;
then (i
+ 1)
in (
dom f1) by
B6,
A6,
FINSEQ_3: 25;
then (f
. (i
+ 1))
= (f1
. (i
+ 1)) & i
< (n
+ 1) by
D1,
A8,
NAT_1: 13,
FINSEQ_1:def 7;
hence thesis by
A6;
end;
A7: j
= (f
. (n
+ 1))
= (
card I(n)) by
B6,
B5,
A6,
A8,
FINSEQ_1: 42;
B3: (
union { I(i) where i : i
< n })
misses I(n)
proof
assume (
union { I(i) where i : i
< n })
meets I(n);
then
consider a be
object such that
C1: a
in (
union { I(i) where i : i
< n }) & a
in I(n) by
XBOOLE_0: 3;
consider J such that
C2: a
in J & J
in { I(i) where i : i
< n } by
C1,
TARSKI:def 4;
consider i such that
C3: J
= I(i) & i
< n by
C2;
i
< (
len f()) by
B1,
C3,
XXREAL_0: 2;
hence thesis by
A1,
B1,
C1,
C2,
C3,
XBOOLE_0: 3;
end;
{ I(i) where i : i
< (n
+ 1) }
= ({ I(i) where i : i
< n }
\/
{I(n)})
proof
thus { I(i) where i : i
< (n
+ 1) }
c= ({ I(i) where i : i
< n }
\/
{I(n)})
proof
let a;
assume a
in { I(i) where i : i
< (n
+ 1) };
then
consider i such that
C4: a
= I(i) & i
< (n
+ 1);
i
<= n by
C4,
NAT_1: 13;
then i
< n or i
= n by
XXREAL_0: 1;
then a
in { I(j) where j : j
< n } or a
in
{I(n)} by
C4,
TARSKI:def 1;
hence thesis by
XBOOLE_0:def 3;
end;
let a;
assume a
in ({ I(i) where i : i
< n }
\/
{I(n)});
per cases by
XBOOLE_0:def 3;
suppose a
in { I(i) where i : i
< n };
then
consider i such that
C5: a
= I(i) & i
< n;
i
< (n
+ 1) by
NAT_1: 13,
C5;
hence thesis by
C5;
end;
suppose a
in
{I(n)};
then a
= I(n) by
TARSKI:def 1;
hence thesis by
B5;
end;
end;
then (
union { I(i) where i : i
< (n
+ 1) })
= ((
union { I(i) where i : i
< n })
\/ (
union
{I(n)})) by
ZFMISC_1: 78
.= ((
union { I(i) where i : i
< n })
\/ I(n));
hence (
card (
union { I(i) where i : i
< (n
+ 1) }))
= ((
card (
union { I(i) where i : i
< n }))
+` (
card I(n))) by
B3,
CARD_2: 35
.= ((
Sum f1)
+` j) by
A7,
A5,
B0,
B2,
B6,
A6,
NAT_1: 13
.= (
Sum f) by
A8,
RVSUM_1: 74;
end;
P[n] from
NAT_1:sch 2(
A3,
A4);
hence thesis by
A2;
end;
registration
let f be
FinSequence;
cluster
{f} ->
FinSequence-membered;
coherence
proof
let a;
assume a
in
{f};
hence thesis by
TARSKI:def 1;
end;
end
theorem ::
MSAFREE5:12
Th6: for f,g be
FinSequence holds (f
^^
{g})
=
{(f
^ g)}
proof
let f,g be
FinSequence;
thus (f
^^
{g})
c=
{(f
^ g)}
proof
let a;
assume a
in (f
^^
{g});
then
consider p be
Element of
{g} such that
A2: a
= (f
^ p) & p
in
{g};
p
= g by
TARSKI:def 1;
hence thesis by
A2,
TARSKI:def 1;
end;
let a;
assume a
in
{(f
^ g)};
then a
= (f
^ g) & g
in
{g} by
TARSKI:def 1;
hence thesis;
end;
theorem ::
MSAFREE5:13
Th18: for I,J be
FinSequence-membered
set holds for f be
FinSequence holds I
c= J iff (f
^^ I)
c= (f
^^ J)
proof
let I,J be
FinSequence-membered
set;
let f be
FinSequence;
thus I
c= J implies (f
^^ I)
c= (f
^^ J)
proof
assume
A1: I
c= J;
let a;
assume a
in (f
^^ I);
then ex b be
Element of I st a
= (f
^ b) & b
in I;
hence a
in (f
^^ J) by
A1;
end;
assume
A2: (f
^^ I)
c= (f
^^ J);
let a;
assume
A3: a
in I;
then
reconsider a as
FinSequence;
(f
^ a)
in (f
^^ I) by
A3;
then (f
^ a)
in (f
^^ J) by
A2;
then
consider b be
Element of J such that
A4: (f
^ a)
= (f
^ b) & b
in J;
thus thesis by
A4,
FINSEQ_1: 33;
end;
reserve c,c1,c2 for
set,
d,d1 for
DecoratedTree;
theorem ::
MSAFREE5:14
(
Leaves (
elementary_tree
0 ))
=
{
{} } by
TREES_1: 29,
HUFFMAN1: 15;
registration
sethood of
Tree
proof
take (
bool (
NAT
* ));
let d be
Tree;
d
c= (
NAT
* ) by
TREES_1:def 3;
hence thesis;
end;
end
theorem ::
MSAFREE5:15
ThL0: for p be non
empty
Tree-yielding
FinSequence holds (
Leaves (
tree p))
= { (
<*i*>
^ q) where i, q be
FinSequence of
NAT , d be
Tree : q
in (
Leaves d) & (i
+ 1)
in (
dom p) & d
= (p
. (i
+ 1)) }
proof
let p be non
empty
Tree-yielding
FinSequence;
set i0 = the
Element of (
dom p);
reconsider d0 = (p
. i0) as
Tree by
TREES_3: 22;
consider j such that
A0: i0
= (1
+ j) by
NAT_1: 10,
FINSEQ_3: 25;
i0
<= (
len p) by
FINSEQ_3: 25;
then
A3: j
< (
len p) & (
<*>
NAT )
in d0 by
A0,
NAT_1: 13,
TREES_1: 22;
A2: (
<*j*>
^
{} qua
FinSequence)
in (
tree p) by
A0,
A3,
TREES_3:def 15;
thus (
Leaves (
tree p))
c= { (
<*i*>
^ q) where i, q be
FinSequence of
NAT , d be
Tree : q
in (
Leaves d) & (i
+ 1)
in (
dom p) & d
= (p
. (i
+ 1)) }
proof
let a;
reconsider x = a as
set by
TARSKI: 1;
assume
A1: a
in (
Leaves (
tree p));
then
reconsider x = a as
Element of (
tree p);
per cases by
TREES_3:def 15;
suppose x
=
{} ;
then not
{}
is_a_proper_prefix_of
<*j*> by
A1,
A2,
TREES_1:def 5;
hence thesis by
XBOOLE_1: 61;
end;
suppose ex i st ex q be
FinSequence st i
< (
len p) & q
in (p
. (i
+ 1)) & x
= (
<*i*>
^ q);
then
consider i be
Nat, q be
FinSequence such that
A2: i
< (
len p) & q
in (p
. (i
+ 1)) & x
= (
<*i*>
^ q);
1
<= (i
+ 1)
<= (
len p) by
A2,
NAT_1: 11,
NAT_1: 13;
then
AB: (i
+ 1)
in (
dom p) & p is
Tree-yielding by
FINSEQ_3: 25;
then (p
. (i
+ 1))
in (
rng p) & (
rng p) is
constituted-Trees by
FUNCT_1:def 3,
TREES_3:def 9;
then
reconsider p1 = (p
. (i
+ 1)) as
Tree;
reconsider q0 = q as
Element of p1 by
A2;
now
assume
AA: q0
nin (
Leaves p1);
consider r be
FinSequence of
NAT such that
A3: r
in p1 & q0
is_a_proper_prefix_of r by
AA,
TREES_1:def 5;
consider w be
FinSequence such that
A5: r
= (q
^ w) by
A3,
XBOOLE_0:def 8,
TREES_1: 1;
(
<*i*>
^ r)
= ((
<*i*>
^ q)
^ w) by
A5,
FINSEQ_1: 32;
then (
<*i*>
^ q)
is_a_prefix_of (
<*i*>
^ r) & (
<*i*>
^ q)
<> (
<*i*>
^ r) by
A3,
FINSEQ_1: 33,
TREES_1: 1;
then x
is_a_proper_prefix_of (
<*i*>
^ r) & (
<*i*>
^ r)
in (
tree p) by
A2,
A3,
XBOOLE_0:def 8,
TREES_3:def 15;
hence contradiction by
A1,
TREES_1:def 5;
end;
hence thesis by
A2,
AB;
end;
end;
let x be
object;
assume x
in { (
<*i*>
^ q) where i, q be
FinSequence of
NAT , d be
Tree : q
in (
Leaves d) & (i
+ 1)
in (
dom p) & d
= (p
. (i
+ 1)) };
then
consider i be
Nat, q be
FinSequence of
NAT , d be
Tree such that
B1: x
= (
<*i*>
^ q) & q
in (
Leaves d) & (i
+ 1)
in (
dom p) & d
= (p
. (i
+ 1));
(i
+ 1)
<= (
len p) by
B1,
FINSEQ_3: 25;
then i
< (
len p) by
NAT_1: 13;
then
reconsider r = x as
Element of (
tree p) by
B1,
TREES_3: 48;
assume x
nin (
Leaves (
tree p));
then
consider q0 be
FinSequence of
NAT such that
B4: q0
in (
tree p) & r
is_a_proper_prefix_of q0 by
TREES_1:def 5;
consider w be
FinSequence such that
B6: q0
= ((
<*i*>
^ q)
^ w) by
B1,
B4,
XBOOLE_0:def 8,
TREES_1: 1;
B7: q0
= (
<*i*>
^ (q
^ w)) by
B6,
FINSEQ_1: 32;
then
B9: (q
^ w) is
FinSequence of
NAT by
FINSEQ_1: 36;
(q
^ w)
in d & q
is_a_proper_prefix_of (q
^ w) by
B1,
B4,
B7,
TREES_3: 48,
TREES_1: 49;
hence contradiction by
B1,
B9,
TREES_1:def 5;
end;
theorem ::
MSAFREE5:16
(
Leaves (
root-tree c))
=
{c}
proof
thus (
Leaves (
root-tree c))
= ((
root-tree c)
.: (
Leaves (
elementary_tree
0 )))
.= ((
{
{} }
--> c)
.: (
dom (
{
{} }
--> c))) by
TREES_1: 29,
HUFFMAN1: 15
.= (
rng (
{
{} }
--> c)) by
RELAT_1: 113
.=
{c} by
FUNCOP_1: 8;
end;
theorem ::
MSAFREE5:17
(
dom d)
c= (
dom ((d,c)
<- d1)) by
TREES_4:def 7;
registration
let c, d;
reduce (((
root-tree c),c)
<- d) to d;
reducibility
proof
AA: (
dom (((
root-tree c),c)
<- d))
= (
dom d)
proof
let x be
FinSequence of
NAT ;
hereby
assume x
in (
dom (((
root-tree c),c)
<- d));
then
reconsider p = x as
Element of (
dom (((
root-tree c),c)
<- d));
per cases by
TREES_4:def 7;
suppose p
in (
dom (
root-tree c));
then p
in (
elementary_tree
0 );
then p
=
{} by
TREES_1: 29;
hence x
in (
dom d) by
TREES_1: 22;
end;
suppose ex q be
Node of (
root-tree c), r be
Node of d st q
in (
Leaves (
dom (
root-tree c))) & ((
root-tree c)
. q)
= c & p
= (q
^ r);
then
consider q be
Node of (
root-tree c), r be
Node of d such that
A2: q
in (
Leaves (
dom (
root-tree c))) & ((
root-tree c)
. q)
= c & p
= (q
^ r);
q
in
{
{} } by
TREES_1: 29;
then q
=
{} ;
hence x
in (
dom d) by
A2;
end;
end;
assume x
in (
dom d);
then
reconsider r = x as
Node of d;
reconsider q =
{} as
Node of (
root-tree c) by
TREES_1: 22;
q
in (
Leaves (
dom (
root-tree c))) & ((
root-tree c)
. q)
= c & r
= (q
^ r) by
HUFFMAN1: 15;
hence x
in (
dom (((
root-tree c),c)
<- d)) by
TREES_4:def 7;
end;
now
let x be
object;
assume x
in (
dom d);
then
reconsider r = x as
Node of d;
reconsider q =
{} as
Node of (
root-tree c) by
TREES_1: 22;
q
in (
Leaves (
dom (
root-tree c))) & ((
root-tree c)
. q)
= c & r
= (q
^ r) by
HUFFMAN1: 15;
hence ((((
root-tree c),c)
<- d)
. x)
= (d
. x) by
TREES_4:def 7;
end;
hence thesis by
AA,
FUNCT_1: 2;
end;
end
theorem ::
MSAFREE5:18
ThL7: c1
<> c2 implies (((
root-tree c1),c2)
<- d)
= (
root-tree c1)
proof
assume
A0: c1
<> c2;
AA: (
dom (((
root-tree c1),c2)
<- d))
= (
dom (
root-tree c1))
proof
let x be
FinSequence of
NAT ;
hereby
assume x
in (
dom (((
root-tree c1),c2)
<- d));
then
reconsider p = x as
Element of (
dom (((
root-tree c1),c2)
<- d));
per cases by
TREES_4:def 7;
suppose p
in (
dom (
root-tree c1));
hence x
in (
dom (
root-tree c1));
end;
suppose ex q be
Node of (
root-tree c1), r be
Node of d st q
in (
Leaves (
dom (
root-tree c1))) & ((
root-tree c1)
. q)
= c2 & p
= (q
^ r);
then
consider q be
Node of (
root-tree c1), r be
Node of d such that
A2: q
in (
Leaves (
dom (
root-tree c1))) & ((
root-tree c1)
. q)
= c2 & p
= (q
^ r);
thus x
in (
dom (
root-tree c1)) by
A2,
A0;
end;
end;
assume x
in (
dom (
root-tree c1));
hence x
in (
dom (((
root-tree c1),c2)
<- d)) by
TREES_4:def 7;
end;
now
let x be
object;
assume x
in (
dom (
root-tree c1));
then
reconsider p = x as
Node of (
root-tree c1);
((
root-tree c1)
. p)
= c1;
hence ((((
root-tree c1),c2)
<- d)
. x)
= ((
root-tree c1)
. x) by
A0,
TREES_4:def 7;
end;
hence thesis by
AA,
FUNCT_1: 2;
end;
registration
let f be non
empty
Function-yielding
Function;
cluster (
doms f) -> non
empty;
coherence
proof
(
dom (
doms f))
= (
dom f)
<>
{} by
FUNCT_6:def 2;
hence thesis;
end;
cluster (
rngs f) -> non
empty;
coherence
proof
(
dom (
rngs f))
= (
dom f)
<>
{} by
FUNCT_6:def 3;
hence thesis;
end;
end
theorem ::
MSAFREE5:19
ThL8: for p,q be non
empty
DTree-yielding
FinSequence st (
dom q)
= (
dom p) & (for i, d1 st i
in (
dom p) & d1
= (p
. i) holds (q
. i)
= ((d1,c)
<- d)) holds (((b
-tree p),c)
<- d)
= (b
-tree q)
proof
let p,q be non
empty
DTree-yielding
FinSequence such that
A1: (
dom q)
= (
dom p) and
A2: for i, d1 st i
in (
dom p) & d1
= (p
. i) holds (q
. i)
= ((d1,c)
<- d);
A3: (
dom (b
-tree p))
= (
tree (
doms p)) & (
dom (b
-tree q))
= (
tree (
doms q)) by
TREES_4: 10;
A4: (
Leaves (
tree (
doms p)))
= { (
<*i*>
^ q) where i, q be
FinSequence of
NAT , d be
Tree : q
in (
Leaves d) & (i
+ 1)
in (
dom (
doms p)) & d
= ((
doms p)
. (i
+ 1)) } by
ThL0;
A5: (
dom (
doms p))
= (
dom p) & (
dom (
doms q))
= (
dom q) by
FUNCT_6:def 2;
then
A6: (
len (
doms p))
= (
len p)
= (
len q)
= (
len (
doms q)) by
A1,
FINSEQ_3: 29;
AA: (
dom (((b
-tree p),c)
<- d))
= (
dom (b
-tree q))
proof
let x be
FinSequence of
NAT ;
hereby
assume x
in (
dom (((b
-tree p),c)
<- d));
then
reconsider r = x as
Node of (((b
-tree p),c)
<- d);
per cases by
TREES_4:def 7;
suppose r
in (
dom (b
-tree p));
per cases by
A3,
TREES_3:def 15;
suppose r
=
{} ;
hence x
in (
dom (b
-tree q)) by
TREES_1: 22;
end;
suppose ex n be
Nat, q be
FinSequence st n
< (
len (
doms p)) & q
in ((
doms p)
. (n
+ 1)) & x
= (
<*n*>
^ q);
then
consider n be
Nat, w be
FinSequence such that
A7: n
< (
len (
doms p)) & w
in ((
doms p)
. (n
+ 1)) & x
= (
<*n*>
^ w);
A9: 1
<= (n
+ 1)
<= (
len (
doms p)) by
A7,
NAT_1: 11,
NAT_1: 13;
reconsider pn = (p
. (n
+ 1)) as
DecoratedTree by
A5,
A9,
FINSEQ_3: 25,
TREES_3: 24;
reconsider qn = (q
. (n
+ 1)) as
DecoratedTree by
A1,
A9,
A5,
FINSEQ_3: 25,
TREES_3: 24;
qn
= ((pn,c)
<- d) by
A2,
A5,
A9,
FINSEQ_3: 25;
then ((
doms p)
. (n
+ 1))
= (
dom pn)
c= (
dom qn)
= ((
doms q)
. (n
+ 1)) by
A1,
A5,
A9,
TREES_4:def 7,
FINSEQ_3: 25,
FUNCT_6:def 2;
hence x
in (
dom (b
-tree q)) by
A3,
A6,
A7,
TREES_3:def 15;
end;
end;
suppose ex q be
Node of (b
-tree p), s be
Node of d st q
in (
Leaves (
dom (b
-tree p))) & ((b
-tree p)
. q)
= c & r
= (q
^ s);
then
consider w be
Node of (b
-tree p), s be
Node of d such that
A8: w
in (
Leaves (
dom (b
-tree p))) & ((b
-tree p)
. w)
= c & r
= (w
^ s);
consider i be
Nat, u be
FinSequence of
NAT , d2 be
Tree such that
A9: w
= (
<*i*>
^ u) & u
in (
Leaves d2) & (i
+ 1)
in (
dom (
doms p)) & d2
= ((
doms p)
. (i
+ 1)) by
A8,
A3,
A4;
reconsider p1 = (p
. (i
+ 1)) as
DecoratedTree by
A5,
A9,
TREES_3: 24;
B1: (w
^ s)
= (
<*i*>
^ (u
^ s)) by
A9,
FINSEQ_1: 32;
B2: (q
. (i
+ 1))
= ((p1,c)
<- d) by
A2,
A5,
A9;
B3: (
dom p1)
= d2 by
A5,
A9,
FUNCT_6:def 2;
reconsider u as
Node of p1 by
A5,
A9,
FUNCT_6:def 2;
B6: (i
+ 1)
<= (
len (
doms p)) by
A9,
FINSEQ_3: 25;
then
B4: i
< (
len (
doms p)) by
NAT_1: 13;
(p1
. u)
= c by
B6,
A6,
A8,
A9,
NAT_1: 13,
TREES_4: 12;
then
B5: (u
^ s)
in (
dom ((p1,c)
<- d))
= ((
doms q)
. (i
+ 1)) by
B3,
A1,
A5,
A9,
B2,
TREES_4:def 7,
FUNCT_6:def 2;
thus x
in (
dom (b
-tree q)) by
B1,
B4,
B5,
A3,
A6,
A8,
TREES_3:def 15;
end;
end;
assume x
in (
dom (b
-tree q));
then
reconsider r = x as
Node of (b
-tree q);
per cases by
A3,
TREES_3:def 15;
suppose r
=
{} ;
hence x
in (
dom (((b
-tree p),c)
<- d)) by
TREES_1: 22;
end;
suppose ex i st ex w be
FinSequence st i
< (
len (
doms q)) & w
in ((
doms q)
. (i
+ 1)) & x
= (
<*i*>
^ w);
then
consider n be
Nat, w be
FinSequence such that
C1: n
< (
len (
doms q)) & w
in ((
doms q)
. (n
+ 1)) & x
= (
<*n*>
^ w);
C4: 1
<= (n
+ 1)
<= (
len (
doms q)) by
C1,
NAT_1: 11,
NAT_1: 13;
then
C2: (n
+ 1)
in (
dom (
doms q)) by
FINSEQ_3: 25;
reconsider qi = (q
. (n
+ 1)) as
DecoratedTree by
C4,
A5,
FINSEQ_3: 25,
TREES_3: 24;
reconsider p1 = (p
. (n
+ 1)) as
DecoratedTree by
A1,
A5,
C4,
FINSEQ_3: 25,
TREES_3: 24;
C3: (
dom qi)
= ((
doms q)
. (n
+ 1)) & (
dom p1)
= ((
doms p)
. (n
+ 1)) by
A1,
A5,
C4,
FINSEQ_3: 25,
FUNCT_6:def 2;
qi
= ((p1,c)
<- d) by
C4,
A1,
A2,
A5,
FINSEQ_3: 25;
per cases by
C1,
C3,
TREES_4:def 7;
suppose w
in (
dom p1);
then x
in (
dom (b
-tree p))
c= (
dom (((b
-tree p),c)
<- d)) by
A3,
A6,
C1,
C3,
TREES_4:def 7,
TREES_3:def 15;
hence x
in (
dom (((b
-tree p),c)
<- d));
end;
suppose ex u be
Node of p1, s be
Node of d st u
in (
Leaves (
dom p1)) & (p1
. u)
= c & w
= (u
^ s);
then
consider u be
Node of p1, s be
Node of d such that
C4: u
in (
Leaves (
dom p1)) & (p1
. u)
= c & w
= (u
^ s);
C5: (
<*n*>
^ u)
in (
Leaves (
tree (
doms p))) by
A4,
C4,
A5,
A1,
C2,
C3;
((b
-tree p)
. (
<*n*>
^ u))
= c by
C1,
A6,
C4,
TREES_4: 12;
then ((
<*n*>
^ u)
^ s)
in (
dom (((b
-tree p),c)
<- d)) by
A3,
C5,
TREES_4:def 7;
hence x
in (
dom (((b
-tree p),c)
<- d)) by
C1,
C4,
FINSEQ_1: 32;
end;
end;
end;
now
let x be
object;
assume x
in (
dom (b
-tree q));
then
reconsider r = x as
Node of (b
-tree q);
per cases by
A3,
TREES_3:def 15;
suppose
C1: r
=
{} ;
reconsider r =
{} as
Node of (b
-tree p) by
TREES_1: 22;
not ex i be
Nat, q be
FinSequence of
NAT , d be
Tree st r
= (
<*i*>
^ q) & q
in (
Leaves d) & (i
+ 1)
in (
dom (
doms p)) & d
= ((
doms p)
. (i
+ 1));
then r
nin (
Leaves (
dom (b
-tree p))) by
A4,
A3;
hence ((((b
-tree p),c)
<- d)
. x)
= ((b
-tree p)
. r) by
C1,
TREES_4:def 7
.= b by
TREES_4:def 4
.= ((b
-tree q)
. x) by
C1,
TREES_4:def 4;
end;
suppose ex i st ex w be
FinSequence st i
< (
len (
doms q)) & w
in ((
doms q)
. (i
+ 1)) & x
= (
<*i*>
^ w);
then
consider n be
Nat, w be
FinSequence such that
C1: n
< (
len (
doms q)) & w
in ((
doms q)
. (n
+ 1)) & x
= (
<*n*>
^ w);
C5: 1
<= (n
+ 1)
<= (
len (
doms q)) by
C1,
NAT_1: 11,
NAT_1: 13;
then
C2: (n
+ 1)
in (
dom (
doms q)) by
FINSEQ_3: 25;
reconsider qi = (q
. (n
+ 1)) as
DecoratedTree by
C5,
A5,
FINSEQ_3: 25,
TREES_3: 24;
reconsider p1 = (p
. (n
+ 1)) as
DecoratedTree by
A1,
A5,
C5,
FINSEQ_3: 25,
TREES_3: 24;
C3: (
dom qi)
= ((
doms q)
. (n
+ 1)) & (
dom p1)
= ((
doms p)
. (n
+ 1)) by
A1,
A5,
C5,
FINSEQ_3: 25,
FUNCT_6:def 2;
C4: qi
= ((p1,c)
<- d) by
C5,
A1,
A2,
A5,
FINSEQ_3: 25;
per cases by
C1,
C3,
TREES_4:def 7;
suppose
D1: w
in (
dom p1) & (w
nin (
Leaves (
dom p1)));
D4: (qi
. w)
= (p1
. w) & (
dom p1)
c= (
dom qi) by
D1,
C4,
TREES_4:def 7;
D5: x is
Node of (b
-tree p) by
C1,
A6,
A3,
C3,
D1,
TREES_3:def 15;
now
given i be
Nat, q be
FinSequence of
NAT , d be
Tree such that
D2: r
= (
<*i*>
^ q) & q
in (
Leaves d) & (i
+ 1)
in (
dom (
doms p)) & d
= ((
doms p)
. (i
+ 1));
i
= (r
. 1)
= n & q
= w by
C1,
D2,
FINSEQ_1: 41,
HILBERT2: 2;
hence contradiction by
D1,
A5,
D2,
FUNCT_6:def 2;
end;
then r
nin (
Leaves (
dom (b
-tree p))) by
A4,
A3;
hence ((((b
-tree p),c)
<- d)
. x)
= ((b
-tree p)
. r) by
D5,
TREES_4:def 7
.= (p1
. w) by
C1,
A6,
D1,
TREES_4: 12
.= ((b
-tree q)
. x) by
C1,
A6,
D1,
D4,
TREES_4: 12;
end;
suppose
D1: w
in (
dom p1) & ((p1
. w)
<> c);
D4: (qi
. w)
= (p1
. w) & (
dom p1)
c= (
dom qi) by
D1,
C4,
TREES_4:def 7;
D5: x is
Node of (b
-tree p) by
C1,
A6,
A3,
C3,
D1,
TREES_3:def 15;
((b
-tree p)
. r)
<> c by
C1,
A6,
D1,
TREES_4: 12;
hence ((((b
-tree p),c)
<- d)
. x)
= ((b
-tree p)
. r) by
D5,
TREES_4:def 7
.= (p1
. w) by
C1,
A6,
D1,
TREES_4: 12
.= ((b
-tree q)
. x) by
C1,
A6,
D1,
D4,
TREES_4: 12;
end;
suppose
C7: w
in (
dom p1) & w
in (
Leaves (
dom p1)) & (p1
. w)
= c;
then
reconsider u = w as
Node of p1;
reconsider s =
{} as
Node of d by
TREES_1: 22;
C71: w
= (u
^ s);
C5: (
<*n*>
^ u)
in (
Leaves (
tree (
doms p))) by
A4,
C7,
A5,
A1,
C2,
C3;
C6: ((b
-tree p)
. (
<*n*>
^ u))
= c by
C1,
A6,
C7,
TREES_4: 12;
((((b
-tree p),c)
<- d)
. ((
<*n*>
^ u)
^ s))
= (d
. s) by
A3,
C5,
C6,
TREES_4:def 7
.= (qi
. w) by
C4,
C7,
C71,
TREES_4:def 7
.= ((b
-tree q)
. x) by
C1,
A6,
C3,
TREES_4: 12;
hence ((((b
-tree p),c)
<- d)
. x)
= ((b
-tree q)
. x) by
C1;
end;
suppose ex u be
Node of p1, s be
Node of d st u
in (
Leaves (
dom p1)) & (p1
. u)
= c & w
= (u
^ s);
then
consider u be
Node of p1, s be
Node of d such that
C7: u
in (
Leaves (
dom p1)) & (p1
. u)
= c & w
= (u
^ s);
C5: (
<*n*>
^ u)
in (
Leaves (
tree (
doms p))) by
A4,
C7,
A5,
A1,
C2,
C3;
C6: ((b
-tree p)
. (
<*n*>
^ u))
= c by
C1,
A6,
C7,
TREES_4: 12;
((((b
-tree p),c)
<- d)
. ((
<*n*>
^ u)
^ s))
= (d
. s) by
A3,
C5,
C6,
TREES_4:def 7
.= (qi
. w) by
C4,
C7,
TREES_4:def 7
.= ((b
-tree q)
. x) by
C1,
A6,
C3,
TREES_4: 12;
hence ((((b
-tree p),c)
<- d)
. x)
= ((b
-tree q)
. x) by
C1,
C7,
FINSEQ_1: 32;
end;
end;
end;
hence thesis by
AA,
FUNCT_1: 2;
end;
definition
let S, s;
let A be non
empty
MSAlgebra over S;
let a be
Element of A;
::
MSAFREE5:def10
attr a is s
-sort means
:
AS: a
in (the
Sorts of A
. s);
end
registration
let S, s;
let A be
non-empty
MSAlgebra over S;
cluster s
-sort for
Element of A;
existence
proof
set a = the
Element of (the
Sorts of A
. s);
take a;
thus a
in (the
Sorts of A
. s);
end;
cluster -> s
-sort for
Element of (the
Sorts of A
. s);
coherence ;
end
definition
let S;
let A be non
empty
MSAlgebra over S;
let a be
Element of A;
::
MSAFREE5:def11
func
the_sort_of a ->
SortSymbol of S means
:
SORT: a
in (the
Sorts of A
. it );
existence
proof
consider I be
object such that
A1: I
in (
dom the
Sorts of A) & a
in (the
Sorts of A
. I) by
CARD_5: 2;
reconsider I as
SortSymbol of S by
A1;
take I;
thus thesis by
A1;
end;
uniqueness by
A,
XBOOLE_0: 3,
PROB_2:def 2;
end
theorem ::
MSAFREE5:20
for A be
disjoint_valued
non-empty
MSAlgebra over S holds for a be s
-sort
Element of A holds (
the_sort_of a)
= s
proof
let A be
disjoint_valued
non-empty
MSAlgebra over S;
let a be s
-sort
Element of A;
a
in (the
Sorts of A
. s) by
AS;
hence (
the_sort_of a)
= s by
SORT;
end;
theorem ::
MSAFREE5:21
for A be
disjoint_valued non
empty
MSAlgebra over S holds for a be
Element of A holds a is (
the_sort_of a)
-sort by
SORT;
theorem ::
MSAFREE5:22
Lem00: (
the_sort_of (
@ r))
= (
the_sort_of r)
proof
the
Sorts of T is
MSSubset of (
Free (S,X)) by
MSAFREE4:def 6;
then (
@ r)
in (the
Sorts of T
. (
the_sort_of r))
c= (the
Sorts of (
Free (S,X))
. (
the_sort_of r)) by
SORT,
PBOOLE:def 2,
PBOOLE:def 18;
hence thesis by
SORT;
end;
theorem ::
MSAFREE5:23
for r be
Element of (the
Sorts of T
. s) holds (
the_sort_of r)
= s by
SORT;
theorem ::
MSAFREE5:24
Th5: for u be
Term of S, X st t
= u holds (
the_sort_of t)
= (
the_sort_of u)
proof
let u be
Term of S, X;
assume t
= u;
then t
in (
FreeSort (X,(
the_sort_of u))) by
MSATERM:def 5;
then t
in (the
Sorts of (
FreeMSA X)
. (
the_sort_of u)) by
MSAFREE:def 11;
then t
in (the
Sorts of (
Free (S,X))
. (
the_sort_of u)) by
MSAFREE3: 31;
hence thesis by
SORT;
end;
registration
let S, X, o, T;
cluster -> (
Union the
Sorts of T)
-valued for
Element of (
Args (o,T));
coherence
proof
let w be
Element of (
Args (o,T));
let a;
reconsider b = a as
set by
TARSKI: 1;
assume a
in (
rng w);
then
consider i be
object such that
A1: i
in (
dom w) & b
= (w
. i) by
FUNCT_1:def 3;
reconsider i as
Nat by
A1;
(
dom w)
= (
dom (
the_arity_of o)) by
MSUALG_6: 2;
then a is
Element of (the
Sorts of T
. ((
the_arity_of o)
/. i)) by
A1,
MSUALG_6: 2;
hence thesis;
end;
end
theorem ::
MSAFREE5:25
Th4A: for q be
Element of (
Args (o,T)) holds i
in (
dom q) implies (
the_sort_of (q
/. i))
= ((
the_arity_of o)
/. i)
proof
let q be
Element of (
Args (o,T));
assume
Z0: i
in (
dom q);
then i
in (
dom (
the_arity_of o)) by
MSUALG_3: 6;
then (q
/. i)
= (q
. i)
in (the
Sorts of T
. ((
the_arity_of o)
/. i)) by
Z0,
PARTFUN1:def 6,
MSUALG_6: 2;
hence (
the_sort_of (q
/. i))
= ((
the_arity_of o)
/. i) by
SORT;
end;
definition
let S;
let A,B be
non-empty
MSAlgebra over S;
let f be
ManySortedFunction of A, B;
let a be
Element of A;
::
MSAFREE5:def12
func f
. a ->
Element of B equals
:
ABBR: ((f
. (
the_sort_of a))
. a);
coherence
proof
a
in (the
Sorts of A
. (
the_sort_of a)) by
A,
SORT;
then ((f
. (
the_sort_of a))
. a) is
Element of (the
Sorts of B
. (
the_sort_of a)) by
FUNCT_2: 5;
hence thesis;
end;
end
theorem ::
MSAFREE5:26
Th9: for A be
disjoint_valued
non-empty
MSAlgebra over S holds for B be
non-empty
MSAlgebra over S holds for f be
ManySortedFunction of A, B holds for a be
Element of (the
Sorts of A
. s) holds (f
. a)
= ((f
. s)
. a)
proof
let A be
disjoint_valued
non-empty
MSAlgebra over S;
let B be
non-empty
MSAlgebra over S;
let f be
ManySortedFunction of A, B;
let a be
Element of (the
Sorts of A
. s);
thus (f
. a)
= ((f
. (
the_sort_of a))
. a) by
ABBR
.= ((f
. s)
. a) by
SORT;
end;
theorem ::
MSAFREE5:27
for A be
disjoint_valued
non-empty
MSAlgebra over S holds for B be
non-empty
MSAlgebra over S holds for f be
ManySortedFunction of A, B holds for a be
Element of (the
Sorts of A
. s) holds (f
. a) is
Element of (the
Sorts of B
. s)
proof
let A be
disjoint_valued
non-empty
MSAlgebra over S;
let B be
non-empty
MSAlgebra over S;
let f be
ManySortedFunction of A, B;
let a be
Element of (the
Sorts of A
. s);
(f
. a)
= ((f
. s)
. a)
in (the
Sorts of B
. s) by
Th9,
FUNCT_2: 5;
hence thesis;
end;
theorem ::
MSAFREE5:28
Lem0: for A,B be
disjoint_valued
non-empty
MSAlgebra over S holds for f be
ManySortedFunction of A, B holds for a be
Element of A holds (
the_sort_of (f
. a))
= (
the_sort_of a)
proof
let A,B be
disjoint_valued
non-empty
MSAlgebra over S;
let f be
ManySortedFunction of A, B;
let a be
Element of A;
a
in (the
Sorts of A
. (
the_sort_of a)) by
SORT;
then (f
. a)
= ((f
. (
the_sort_of a))
. a)
in (the
Sorts of B
. (
the_sort_of a)) by
ABBR,
FUNCT_2: 5;
hence (
the_sort_of (f
. a))
= (
the_sort_of a) by
SORT;
end;
theorem ::
MSAFREE5:29
Th14: for A,B be
disjoint_valued
non-empty
MSAlgebra over S holds for C be
non-empty
MSAlgebra over S holds for f be
ManySortedFunction of A, B holds for g be
ManySortedFunction of B, C holds for a be
Element of A holds ((g
** f)
. a)
= (g
. (f
. a))
proof
let A,B be
disjoint_valued
non-empty
MSAlgebra over S;
let C be
non-empty
MSAlgebra over S;
let f be
ManySortedFunction of A, B;
let g be
ManySortedFunction of B, C;
let a be
Element of A;
A1: a
in (the
Sorts of A
. (
the_sort_of a)) & (f
. (
the_sort_of a)) is
Function of (the
Sorts of A
. (
the_sort_of a)), (the
Sorts of B
. (
the_sort_of a)) by
SORT;
thus ((g
** f)
. a)
= (((g
** f)
. (
the_sort_of a))
. a) by
ABBR
.= (((g
. (
the_sort_of a))
* (f
. (
the_sort_of a)))
. a) by
MSUALG_3: 2
.= ((g
. (
the_sort_of a))
. ((f
. (
the_sort_of a))
. a)) by
A1,
FUNCT_2: 15
.= ((g
. (
the_sort_of (f
. a)))
. ((f
. (
the_sort_of a))
. a)) by
Lem0
.= ((g
. (
the_sort_of (f
. a)))
. (f
. a)) by
ABBR
.= (g
. (f
. a)) by
ABBR;
end;
theorem ::
MSAFREE5:30
for A be
disjoint_valued
non-empty
MSAlgebra over S holds for B be
non-empty
MSAlgebra over S holds for f1,f2 be
ManySortedFunction of A, B st for a be
Element of A holds (f1
. a)
= (f2
. a) holds f1
= f2
proof
let A be
disjoint_valued
non-empty
MSAlgebra over S;
let B be
non-empty
MSAlgebra over S;
let f1,f2 be
ManySortedFunction of A, B;
assume
Z0: for a be
Element of A holds (f1
. a)
= (f2
. a);
let s;
now
thus (f1
. s) is
Function of (the
Sorts of A
. s), (the
Sorts of B
. s) & (f2
. s) is
Function of (the
Sorts of A
. s), (the
Sorts of B
. s);
let a be
Element of (the
Sorts of A
. s);
thus ((f1
. s)
. a)
= (f1
. a) by
Th9
.= (f2
. a) by
Z0
.= ((f2
. s)
. a) by
Th9;
end;
hence thesis by
FUNCT_2:def 8;
end;
definition
let S;
let A,B be
MSAlgebra over S;
::
MSAFREE5:def13
mode
Homomorphism of A,B ->
ManySortedFunction of A, B means
:
HOMO: it
is_homomorphism (A,B);
existence by
A;
end
theorem ::
MSAFREE5:31
for h be
ManySortedFunction of (
Free (S,X)), T holds h is
Homomorphism of (
Free (S,X)), T iff h
is_homomorphism ((
Free (S,X)),T)
proof
let h be
ManySortedFunction of (
Free (S,X)), T;
(
canonical_homomorphism T)
is_homomorphism ((
Free (S,X)),T) by
MSAFREE4:def 10;
hence thesis by
HOMO;
end;
definition
let S, X, T;
:: original:
canonical_homomorphism
redefine
func
canonical_homomorphism T ->
Homomorphism of (
Free (S,X)), T ;
coherence
proof
(
canonical_homomorphism T)
is_homomorphism ((
Free (S,X)),T) by
MSAFREE4:def 10;
hence thesis by
HOMO;
end;
end
registration
let S, X, T, r;
reduce ((
canonical_homomorphism T)
. (
@ r)) to r;
reducibility
proof
(
the_sort_of (
@ r))
= (
the_sort_of r) by
Lem00;
then r
in (the
Sorts of T
. (
the_sort_of (
@ r))) by
SORT;
then (((
canonical_homomorphism T)
. (
the_sort_of (
@ r)))
. (
@ r))
= r by
MSAFREE4: 47;
hence thesis by
ABBR;
end;
end
theorem ::
MSAFREE5:32
for t1, t2 st t2
= ((
canonical_homomorphism T)
. t1) holds ((
canonical_homomorphism T)
. t1)
= ((
canonical_homomorphism T)
. t2)
proof
set H = (
canonical_homomorphism T);
let t1, t2;
assume
Z0: t2
= (H
. t1);
reconsider t = t1 as
Element of (the
Sorts of (
Free (S,X))
. (
the_sort_of t1)) by
SORT;
A1: (
the_sort_of (
@ (H
. t1)))
= (
the_sort_of (H
. t1)) & (H
. (
the_sort_of t1)) is
Function of (the
Sorts of (
Free (S,X))
. (
the_sort_of t1)), (the
Sorts of T
. (
the_sort_of t1)) by
Lem00;
A2: (
dom (H
** H))
= ((
dom H)
/\ (
dom H))
= (
dom H)
= the
carrier of S by
PARTFUN1:def 2,
PBOOLE:def 19;
(H
** H)
= H by
MSAFREE4: 48;
hence (H
. t1)
= (((H
** H)
. (
the_sort_of t1))
. t1) by
ABBR
.= (((H
. (
the_sort_of t1))
* (H
. (
the_sort_of t1)))
. t) by
A2,
PBOOLE:def 19
.= ((H
. (
the_sort_of t1))
. ((H
. (
the_sort_of t1))
. t1)) by
FUNCT_2: 15
.= ((H
. (
the_sort_of t1))
. (H
. t1)) by
ABBR
.= ((H
. (
the_sort_of t2))
. (H
. t1)) by
Z0,
A1,
Lem0
.= (H
. t2) by
Z0,
ABBR;
end;
begin
reserve w for
Element of (
Args (o,T)),
p,p1 for
Element of (
Args (o,(
Free (S,X))));
definition
let S, X, s, x;
::
MSAFREE5:def14
func x
-term ->
Element of (the
Sorts of (
Free (S,X))
. s) equals (
root-tree
[x, s]);
coherence
proof
reconsider t = (
root-tree
[x, s]) as
Term of S, X by
MSATERM: 4;
(
the_sort_of t)
= s by
MSATERM: 14;
then t is
Element of (the
Sorts of (
FreeMSA X)
. s) by
MSAFREE3: 7;
hence thesis by
MSAFREE3: 31;
end;
end
definition
let S, X, o, p;
::
MSAFREE5:def15
func o
-term p ->
Element of (
Free (S,X)), (
the_result_sort_of o) equals (
[o, the
carrier of S]
-tree p);
coherence
proof
A1: (
Free (S,X))
= (
FreeMSA X)
=
MSAlgebra (# (
FreeSort X), (
FreeOper X) #) by
MSAFREE3: 31;
then
A2: p is
ArgumentSeq of (
Sym (o,X)) by
INSTALG1: 1;
then
reconsider t = ((
Sym (o,X))
-tree p) as
Term of S, X by
MSATERM: 1;
(
the_sort_of t)
= (
the_result_sort_of o) by
A2,
MSATERM: 20;
then t
in (
FreeSort (X,(
the_result_sort_of o))) by
MSATERM:def 5;
hence thesis by
A1,
MSAFREE:def 11;
end;
end
theorem ::
MSAFREE5:33
(
the_sort_of (x
-term ))
= s by
SORT;
theorem ::
MSAFREE5:34
Th8: (
the_sort_of (o
-term p))
= (
the_result_sort_of o)
proof
reconsider t = (o
-term p) as
Term of S, X by
MSAFREE4: 42;
[o, the
carrier of S]
= (t
.
{} ) by
TREES_4:def 4;
then (
the_sort_of t)
= (
the_result_sort_of o) by
MSATERM: 17;
hence thesis by
Th5;
end;
theorem ::
MSAFREE5:35
Th119: for i be
object holds i
in ((
FreeGen T)
. s) iff ex x st i
= (x
-term )
proof
let i be
object;
A3: ((
FreeGen T)
. s)
= (
FreeGen (s,X)) & i is
set by
TARSKI: 1,
MSAFREE:def 16;
hereby
assume i
in ((
FreeGen T)
. s);
then
consider x be
set such that
A2: x
in (X
. s) & i
= (
root-tree
[x, s]) by
A3,
MSAFREE:def 15;
reconsider x as
Element of (X
. s) by
A2;
take x;
thus i
= (x
-term ) by
A2;
end;
thus thesis by
A3,
MSAFREE:def 15;
end;
registration
let S, X, s, x;
cluster (x
-term ) -> non
compound;
coherence
proof
set t = (x
-term );
s
in the
carrier of S;
then s
<> the
carrier of S;
then (t
.
{} )
=
[x, s] & s
nin
{the
carrier of S} by
TARSKI:def 1,
TREES_4: 3;
hence (t
.
{} )
nin
[:the
carrier' of S,
{the
carrier of S}:] by
ZFMISC_1: 87;
end;
end
registration
let S, X, o, p;
cluster (o
-term p) ->
compound(
the_result_sort_of o)
-sort;
coherence
proof
set t = (o
-term p);
(t
.
{} )
=
[o, the
carrier of S] & the
carrier of S
in
{the
carrier of S} by
TARSKI:def 1,
TREES_4:def 4;
hence (t
.
{} )
in
[:the
carrier' of S,
{the
carrier of S}:] by
ZFMISC_1: 87;
thus thesis;
end;
end
theorem ::
MSAFREE5:36
Th16: (ex s, x st t
= (x
-term )) or ex o, p st t
= (o
-term p)
proof
reconsider u = t as
Term of S, X by
MSAFREE4: 42;
per cases by
MSATERM: 2;
suppose ex s, x st (u
.
{} )
=
[x, s];
then
consider s, x such that
A0: (u
.
{} )
=
[x, s];
u
= (
root-tree
[x, s])
= (x
-term ) by
A0,
MSATERM: 5;
hence thesis;
end;
suppose (u
.
{} )
in
[:the
carrier' of S,
{the
carrier of S}:];
then
consider a,b be
object such that
A1: a
in the
carrier' of S & b
in
{the
carrier of S} & (u
.
{} )
=
[a, b] by
ZFMISC_1:def 2;
reconsider a as
OperSymbol of S by
A1;
b
= the
carrier of S by
A1,
TARSKI:def 1;
then
consider p be
ArgumentSeq of (
Sym (a,X)) such that
A2: u
= (
[a, the
carrier of S]
-tree p) by
A1,
MSATERM: 10;
(
Free (S,X))
= (
FreeMSA X) by
MSAFREE3: 31;
then
reconsider p as
Element of (
Args (a,(
Free (S,X)))) by
INSTALG1: 1;
u
= (a
-term p) by
A2;
hence thesis;
end;
end;
theorem ::
MSAFREE5:37
not t is
compound implies ex s, x st t
= (x
-term )
proof
reconsider d = t as
Term of S, X by
MSAFREE4: 42;
assume (t
.
{} )
nin
[:the
carrier' of S,
{the
carrier of S}:];
then
consider s, x such that
A1: (d
.
{} )
=
[x, s] by
MSATERM: 2;
take s, x;
thus thesis by
A1,
MSATERM: 5;
end;
theorem ::
MSAFREE5:38
Th17: t is
compound implies ex o, p st t
= (o
-term p)
proof
reconsider d = t as
Term of S, X by
MSAFREE4: 42;
assume (t
.
{} )
in
[:the
carrier' of S,
{the
carrier of S}:];
then
consider a,b be
object such that
A1: a
in the
carrier' of S & b
in
{the
carrier of S} & (d
.
{} )
=
[a, b] by
ZFMISC_1:def 2;
reconsider a as
OperSymbol of S by
A1;
b
= the
carrier of S by
A1,
TARSKI:def 1;
then
consider p be
ArgumentSeq of (
Sym (a,X)) such that
A2: d
= (
[a, the
carrier of S]
-tree p) by
A1,
MSATERM: 10;
(
Free (S,X))
= (
FreeMSA X) by
MSAFREE3: 31;
then
reconsider p as
Element of (
Args (a,(
Free (S,X)))) by
INSTALG1: 1;
take a, p;
thus thesis by
A2;
end;
theorem ::
MSAFREE5:39
(x
-term )
<> (o
-term p);
registration
let S;
let X be
non-empty
ManySortedSet of the
carrier of S;
cluster
compound for
Element of (
Free (S,X));
existence
proof
set o = the
OperSymbol of S;
set p = the
Element of (
Args (o,(
Free (S,X))));
take (o
-term p);
thus thesis;
end;
end
definition
let S, X;
let e be
compound
Element of (
Free (S,X));
:: original:
main-constr
redefine
func
main-constr e ->
OperSymbol of S ;
coherence
proof
consider o, p such that
A1: e
= (o
-term p) by
Th17;
(e
.
{} )
=
[o, the
carrier of S] & (
main-constr e)
= ((e
.
{} )
`1 ) by
A1,
TREES_4:def 4,
ABCMIZ_A:def 9;
hence thesis;
end;
end
definition
let S, X;
let e be
compound
Element of (
Free (S,X));
:: original:
args
redefine
func
args e ->
Element of (
Args ((
main-constr e),(
Free (S,X)))) ;
coherence
proof
consider o, p such that
A1: e
= (o
-term p) by
Th17;
(
[o, the
carrier of S]
-tree p)
= e
= ((e
.
{} )
-tree (
args e)) by
A1,
ABCMIZ_A:def 10;
then (
args e)
= p & (
[o, the
carrier of S]
`1 )
= ((e
.
{} )
`1 )
= (
main-constr e) by
TREES_4: 15,
ABCMIZ_A:def 9;
hence thesis;
end;
end
theorem ::
MSAFREE5:40
(
args (x
-term ))
=
{}
proof
((x
-term )
.
{} )
=
[x, s] & (x
-term )
= (
[x, s]
-tree
{} ) by
TREES_4: 3,
TREES_4: 20;
hence thesis by
ABCMIZ_A:def 10;
end;
theorem ::
MSAFREE5:41
for t be
compound
Element of (
Free (S,X)) holds t
= ((
main-constr t)
-term (
args t))
proof
let t be
compound
Element of (
Free (S,X));
consider o, p such that
A1: t
= (o
-term p) by
Th17;
(
[o, the
carrier of S]
-tree p)
= t
= ((t
.
{} )
-tree (
args t)) by
A1,
ABCMIZ_A:def 10;
then (
args t)
= p & (
[o, the
carrier of S]
`1 )
= ((t
.
{} )
`1 )
= (
main-constr t) by
TREES_4: 15,
ABCMIZ_A:def 9;
hence thesis by
A1;
end;
theorem ::
MSAFREE5:42
Th24: (x
-term )
in T
proof
(x
-term )
in (
FreeGen (s,X))
= ((
FreeGen T)
. s)
c= (the
Sorts of T
. s) by
PBOOLE:def 2,
PBOOLE:def 18,
MSAFREE:def 15,
MSAFREE:def 16;
then (x
-term ) is
Element of (the
Sorts of T
. s);
hence (x
-term )
in (
Union the
Sorts of T);
end;
registration
let S, X, T, s, x;
reduce ((
canonical_homomorphism T)
. (x
-term )) to (x
-term );
reducibility
proof
(x
-term )
in T by
Th24;
then
reconsider xt = (x
-term ) as
Element of T;
(
the_sort_of xt)
= (
the_sort_of (
@ xt)) by
Lem00;
hence ((
canonical_homomorphism T)
. (x
-term ))
= (x
-term );
end;
end
scheme ::
MSAFREE5:sch2
TermInd { P[
set], S() -> non
empty non
void
ManySortedSign , X() ->
non-empty
ManySortedSet of the
carrier of S() , t() ->
Element of (
Free (S(),X())) } :
P[t()]
provided
A1: for s be
SortSymbol of S(), x be
Element of (X()
. s) holds P[(x
-term )]
and
A2: for o be
OperSymbol of S(), p be
Element of (
Args (o,(
Free (S(),X())))) st for t be
Element of (
Free (S(),X())) st t
in (
rng p) holds P[t] holds P[(o
-term p)];
AA: t() is
Term of S(), X() by
MSAFREE4: 42;
A3:
now
let s be
SortSymbol of S(), x be
Element of (X()
. s);
P[(x
-term )] by
A1;
hence P[(
root-tree
[x, s])];
end;
A4:
now
let o be
OperSymbol of S(), p be
ArgumentSeq of (
Sym (o,X()));
(
Free (S(),X()))
= (
FreeMSA X()) by
MSAFREE3: 31;
then
reconsider q = p as
Element of (
Args (o,(
Free (S(),X())))) by
INSTALG1: 1;
assume
A5: for t be
Term of S(), X() st t
in (
rng p) holds P[t];
now
let u be
Element of (
Free (S(),X()));
u is
Term of S(), X() by
MSAFREE4: 42;
hence u
in (
rng q) implies P[u] by
A5;
end;
then P[(o
-term q)] by
A2;
hence P[(
[o, the
carrier of S()]
-tree p)];
end;
for t be
Term of S(), X() holds P[t] from
MSATERM:sch 1(
A3,
A4);
hence thesis by
AA;
end;
scheme ::
MSAFREE5:sch3
TermAlgebraInd { P[
set], S() -> non
empty non
void
ManySortedSign , X() ->
non-empty
ManySortedSet of the
carrier of S() , A() ->
all_vars_including
inheriting_operations
free_in_itselfX(), S()
-terms
MSAlgebra over S() , t() ->
Element of A() } :
P[t()]
provided
A1: for s be
SortSymbol of S(), x be
Element of (X()
. s) holds for r be
Element of A() st r
= (x
-term ) holds P[r]
and
A2: for o be
OperSymbol of S(), p be
Element of (
Args (o,(
Free (S(),X())))) holds for r be
Element of A() st r
= (o
-term p) & for t be
Element of A() st t
in (
rng p) holds P[t] holds P[r];
defpred
Q[
set] means $1
in A() implies P[$1];
A3:
now
let s be
SortSymbol of S();
let x be
Element of (X()
. s);
(x
-term )
in A() by
Th24;
hence
Q[(x
-term )] by
A1;
end;
A4:
now
let o be
OperSymbol of S(), p be
Element of (
Args (o,(
Free (S(),X()))));
assume
A5: for t be
Element of (
Free (S(),X())) st t
in (
rng p) holds
Q[t];
thus
Q[(o
-term p)]
proof
assume
A7: (o
-term p)
in A();
now
let t be
Element of A();
assume
AA: t
in (
rng p);
t
in A() &
Q[(
@ t)] by
A5,
AA;
hence P[t];
end;
hence P[(o
-term p)] by
A2,
A7;
end;
end;
Q[(
@ t())] from
TermInd(
A3,
A4);
hence thesis by
ELEM;
end;
begin
definition
let S, X, T, r;
::
MSAFREE5:def16
func
construction_degree r ->
Nat equals (
card (r
"
[:the
carrier' of S,
{the
carrier of S}:]));
coherence ;
::
MSAFREE5:def17
func
height r ->
Nat equals (
height (
dom r));
coherence ;
end
notation
let S, X, T, r;
synonym
deg r for
construction_degree r;
end
theorem ::
MSAFREE5:43
(
deg (
@ r))
= (
deg r);
theorem ::
MSAFREE5:44
(
height (
@ r))
= (
height r);
theorem ::
MSAFREE5:45
(
height (x
-term ))
=
0 by
TREES_1: 42;
registration
cluster
natural-membered ->
ordinal-membered
finite-membered for
set;
coherence
proof
let I;
assume
A1: for a st a
in I holds a is
natural;
now
let J;
assume J
in I;
then J is
natural by
A1;
hence J is
ordinal;
end;
hence I is
ordinal-membered by
ORDINAL6: 1;
let J;
assume J
in I;
then J is
natural by
A1;
hence thesis;
end;
end
registration
let I be
finite
natural-membered
set;
cluster (
union I) ->
natural;
coherence ;
end
registration
let I be non
empty
finite
natural-membered
set;
identify
union I with
max I;
compatibility
proof
A1: for x,y be
set st x
in I & y
in I holds x
c= y or y
c= x by
XBOOLE_0:def 9,
ORDINAL1: 15;
now
let x be
ext-real
object;
assume
A3: x
in I;
then
reconsider a = x as
Nat;
(
Segm a)
= x & (
Segm (
union I))
= (
union I);
hence x
<= (
union I) by
A3,
ZFMISC_1: 74,
NAT_1: 39;
end;
hence thesis by
A1,
XXREAL_2:def 8,
CARD_2: 62;
end;
end
theorem ::
MSAFREE5:46
Th25: for S, X, o, p holds { (
height t1) : t1
in (
rng p) } is
natural-membered
finite & (
union { (
height t) : t
in (
rng p) }) is
Nat
proof
let S, X, o, p;
set I = { (
height t) : t
in (
rng p) };
thus
A2: I is
natural-membered
proof
let a;
assume a
in I;
then ex t1 st a
= (
height t1) & t1
in (
rng p);
hence thesis;
end;
deffunc
F(
Element of (
Free (S,X))) = (
height $1);
A3: (
rng p) is
finite;
thus {
F(t1) : t1
in (
rng p) } is
finite from
FRAENKEL:sch 21(
A3);
then
reconsider I as
finite
natural-membered
set by
A2;
(
union I) is
Nat;
hence thesis;
end;
theorem ::
MSAFREE5:47
Th26: (
the_arity_of o)
<>
{} & n
= (
union { (
height t1) : t1
in (
rng p) }) implies (
height (o
-term p))
= (n
+ 1)
proof
set I = { (
height t1) : t1
in (
rng p) };
assume
A1: (
the_arity_of o)
<>
{} & n
= (
union I);
set i0 = the
Element of (
dom p);
A4: (
dom p)
= (
dom (
the_arity_of o)) by
MSUALG_6: 2;
reconsider i0 as
Nat;
reconsider t0 = (p
. i0) as
Element of (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i0)) by
A4,
A1,
MSUALG_6: 2;
t0
in (
rng p) by
A4,
A1,
FUNCT_1:def 3;
then
A5: (
height t0)
in I;
A2: I is
natural-membered
proof
let a;
assume a
in I;
then ex t1 st a
= (
height t1) & t1
in (
rng p);
hence thesis;
end;
deffunc
F(
Element of (
Free (S,X))) = (
height $1);
A3: (
rng p) is
finite;
{
F(t1) : t1
in (
rng p) } is
finite from
FRAENKEL:sch 21(
A3);
then
reconsider I as non
empty
finite
natural-membered
set by
A2,
A5;
n
= (
max I)
in I by
A1,
XXREAL_2:def 8;
then
consider t1 such that
A7: (
max I)
= (
height t1) & t1
in (
rng p);
consider a be
FinSequence of
NAT such that
A8: a
in (
dom t1) & (
len a)
= (
max I) by
A7,
TREES_1:def 12;
consider i1 be
object such that
A9: i1
in (
dom p) & t1
= (p
. i1) by
A7,
FUNCT_1:def 3;
reconsider i1 as
Nat by
A9;
consider i such that
A10: i1
= (1
+ i) by
NAT_1: 10,
A9,
FINSEQ_3: 25;
i1
<= (
len p) by
A9,
FINSEQ_3: 25;
then
A11: (
<*i*>
^ a)
in (
dom (o
-term p)) by
A8,
A9,
A10,
NAT_1: 13,
TREES_4: 11;
A12: (
len (
<*i*>
^ a))
= (1
+ n) by
A1,
A8,
FINSEQ_5: 8;
now
let q be
FinSequence of
NAT ;
assume q
in (
dom (o
-term p));
per cases by
TREES_4: 11;
suppose q
=
{} ;
hence (
len q)
<= (n
+ 1);
end;
suppose ex i be
Nat, T be
DecoratedTree, w be
Node of T st i
< (
len p) & T
= (p
. (i
+ 1)) & q
= (
<*i*>
^ w);
then
consider i be
Nat, t be
DecoratedTree, w be
Node of t such that
B1: i
< (
len p) & t
= (p
. (i
+ 1)) & q
= (
<*i*>
^ w);
B0: 1
<= (i
+ 1)
<= (
len p) by
B1,
NAT_1: 12,
NAT_1: 13;
then
B2: (i
+ 1)
in (
dom p) by
FINSEQ_3: 25;
reconsider t as
Element of (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. (i
+ 1))) by
B0,
B1,
A4,
MSUALG_6: 2,
FINSEQ_3: 25;
t
in (
rng p) by
B2,
B1,
FUNCT_1:def 3;
then (
height t)
in I;
then (
len w)
<= (
height t)
<= (
max I) by
XXREAL_2:def 8,
TREES_1:def 12;
then (
len w)
<= n by
A1,
XXREAL_0: 2;
then (1
+ (
len w))
<= (n
+ 1) by
XREAL_1: 6;
hence (
len q)
<= (n
+ 1) by
B1,
FINSEQ_5: 8;
end;
end;
hence thesis by
A12,
A11,
TREES_1:def 12;
end;
theorem ::
MSAFREE5:48
Th20: (
the_arity_of o)
=
{} implies (
height (o
-term p))
=
0
proof
assume (
the_arity_of o)
=
{} ;
then (
dom p)
= (
dom
{} ) by
MSUALG_3: 6;
then p
=
{} ;
then (o
-term p)
= (
root-tree
[o, the
carrier of S]) by
TREES_4: 20;
hence thesis by
TREES_1: 42;
end;
theorem ::
MSAFREE5:49
Th21: (
deg (x
-term ))
=
0
proof
set t = (x
-term );
assume (
deg t)
<>
0 ;
then not (t
"
[:the
carrier' of S,
{the
carrier of S}:]) is
empty;
then
consider a be
object such that
A1: a
in (t
"
[:the
carrier' of S,
{the
carrier of S}:]) by
XBOOLE_0: 7;
reconsider ta = (t
. a) as
set;
A4: ta
in
[:the
carrier' of S,
{the
carrier of S}:] & a
in (
dom t) by
A1,
FUNCT_1:def 7;
ta
in (
rng t)
=
{
[x, s]} by
A4,
FUNCT_1:def 3,
FUNCOP_1: 8;
then ta
=
[x, s] by
TARSKI:def 1;
then s
in the
carrier of S
= s by
A4,
ZFMISC_1: 106;
hence contradiction;
end;
theorem ::
MSAFREE5:50
Th22: (
deg t)
<>
0 iff ex o, p st t
= (o
-term p)
proof
defpred
P[
Element of (
Free (S,X))] means (
deg $1)
<>
0 iff ex o, p st $1
= (o
-term p);
A1:
P[(x
-term )] by
Th21;
A2:
now
let o, p;
assume for t st t
in (
rng p) holds
P[t];
[o, the
carrier of S]
in
[:the
carrier' of S,
{the
carrier of S}:] &
{}
in (
dom (o
-term p)) & ((o
-term p)
.
{} )
=
[o, the
carrier of S] by
TREES_1: 22,
ZFMISC_1: 106,
TREES_4:def 4;
then
{}
in ((o
-term p)
"
[:the
carrier' of S,
{the
carrier of S}:]) by
FUNCT_1:def 7;
then
{
{} }
c= ((o
-term p)
"
[:the
carrier' of S,
{the
carrier of S}:]);
then 1
= (
card
{
{} })
= (
Segm (
card
{
{} }))
c= (
Segm (
deg (o
-term p))) by
CARD_1: 11,
CARD_1: 30;
hence
P[(o
-term p)];
end;
thus
P[t] from
TermInd(
A1,
A2);
end;
registration
let t be
DecoratedTree;
let I;
cluster (t
" I) ->
FinSequence-membered;
coherence
proof
(t
" I) is
Subset of (
dom t) by
RELAT_1: 132;
hence thesis;
end;
end
definition
let a, I;
let J,K be
set;
:: original:
IFIN
redefine
func
IFIN (a,I,J,K) ->
set ;
coherence by
TARSKI: 1;
end
theorem ::
MSAFREE5:51
Th80: J
=
[o, the
carrier of S] implies ((o
-term p)
" I)
= ((
IFIN (J,I,
{
{} },
{} ))
\/ (
union { (
<*i*>
^^ ((p
. (i
+ 1))
" I)) : i
< (
len p) }))
proof
set X = { (
<*i*>
^^ ((p
. (i
+ 1))
" I)) : i
< (
len p) };
assume
A0: J
=
[o, the
carrier of S];
(
dom (
doms p))
= (
dom p) by
FUNCT_6:def 2;
then
A4: (
len (
doms p))
= (
len p) by
FINSEQ_3: 29;
thus ((o
-term p)
" I)
c= ((
IFIN (J,I,
{
{} },
{} ))
\/ (
union X))
proof
let x be
object;
assume x
in ((o
-term p)
" I);
then
A1: x
in (
dom (o
-term p)) & ((o
-term p)
. x)
in I by
FUNCT_1:def 7;
then x
in (
tree (
doms p)) by
TREES_4: 10;
per cases by
TREES_3:def 15;
suppose x
=
{} ;
then ((o
-term p)
. x)
= J & x
in
{
{} } by
A0,
TARSKI:def 1,
TREES_4:def 4;
then x
in (
IFIN (J,I,
{
{} },
{} )) by
A1,
MATRIX_7:def 1;
hence thesis by
XBOOLE_0:def 3;
end;
suppose ex i be
Nat, q be
FinSequence st i
< (
len (
doms p)) & q
in ((
doms p)
. (i
+ 1)) & x
= (
<*i*>
^ q);
then
consider i be
Nat, q be
FinSequence such that
A2: i
< (
len (
doms p)) & q
in ((
doms p)
. (i
+ 1)) & x
= (
<*i*>
^ q);
1
<= (i
+ 1)
<= (
len p) by
A4,
A2,
NAT_1: 11,
NAT_1: 13;
then
A5: (i
+ 1)
in (
dom p) by
FINSEQ_3: 25;
then
reconsider px = (p
. (i
+ 1)) as
DecoratedTree by
TREES_3: 24;
A6: (
dom px)
= ((
doms p)
. (i
+ 1)) by
A5,
FUNCT_6:def 2;
then ((o
-term p)
. x)
= (px
. q) by
A2,
A4,
TREES_4: 12;
then q
in (px
" I) by
A1,
A2,
A6,
FUNCT_1:def 7;
then (
<*i*>
^ q)
in (
<*i*>
^^ (px
" I))
in X by
A2,
A4;
then x
in (
union X) by
A2,
TARSKI:def 4;
hence thesis by
XBOOLE_0:def 3;
end;
end;
let x be
object;
assume x
in ((
IFIN (J,I,
{
{} },
{} ))
\/ (
union X));
per cases by
XBOOLE_0:def 3;
suppose x
in (
IFIN (J,I,
{
{} },
{} ));
then J
in I & x
in
{
{} } or J
nin I & x
in
{} by
MATRIX_7:def 1;
then x
=
{} & J
in I & ((o
-term p)
.
{} )
= J &
{}
in (
dom (o
-term p)) by
A0,
TREES_1: 22,
TREES_4:def 4;
hence x
in ((o
-term p)
" I) by
FUNCT_1:def 7;
end;
suppose x
in (
union X);
then
consider Y be
set such that
A7: x
in Y
in X by
TARSKI:def 4;
consider i such that
A8: Y
= (
<*i*>
^^ ((p
. (i
+ 1))
" I)) & i
< (
len p) by
A7;
consider q be
Element of ((p
. (i
+ 1))
" I) such that
A9: x
= (
<*i*>
^ q) & q
in ((p
. (i
+ 1))
" I) by
A7,
A8;
1
<= (i
+ 1)
<= (
len p) by
A8,
NAT_1: 11,
NAT_1: 13;
then
AA: (i
+ 1)
in (
dom p) by
FINSEQ_3: 25;
then
reconsider px = (p
. (i
+ 1)) as
DecoratedTree by
TREES_3: 24;
q
in (
dom px)
= ((
doms p)
. (i
+ 1)) & (
dom (o
-term p))
= (
tree (
doms p)) by
AA,
A9,
FUNCT_1:def 7,
FUNCT_6:def 2,
TREES_4: 10;
then ((o
-term p)
. x)
= (px
. q) & (px
. q)
in I & x
in (
dom (o
-term p)) by
A4,
A8,
A9,
FUNCT_1:def 7,
TREES_3:def 15,
TREES_4: 12;
hence thesis by
FUNCT_1:def 7;
end;
end;
theorem ::
MSAFREE5:52
Th29: (ex f be
FinSequence of
NAT st i
= (
Sum f) & (
dom f)
= (
dom (
the_arity_of o)) & for i, t st i
in (
dom (
the_arity_of o)) & t
= (p
. i) holds (f
. i)
= (
deg t)) implies (
deg (o
-term p))
= (i
+ 1)
proof
given f be
FinSequence of
NAT such that
A1: i
= (
Sum f) & (
dom f)
= (
dom (
the_arity_of o)) & for i, t st i
in (
dom (
the_arity_of o)) & t
= (p
. i) holds (f
. i)
= (
deg t);
(
dom f)
= (
dom p) by
A1,
MSUALG_3: 6;
then
A2: (
len f)
= (
len p) by
FINSEQ_3: 29;
set t = (o
-term p);
set I =
[:the
carrier' of S,
{the
carrier of S}:];
set A = { (
<*i*>
^^ ((p
. (i
+ 1))
" I)) where i : i
< (
len p) };
A4:
{}
nin (
union A)
proof
assume
{}
in (
union A);
then
consider J such that
A1:
{}
in J & J
in A by
TARSKI:def 4;
consider i such that
A2: J
= (
<*i*>
^^ ((p
. (i
+ 1))
" I)) & i
< (
len p) by
A1;
consider q be
Element of ((p
. (i
+ 1))
" I) such that
A3:
{}
= (
<*i*>
^ q) & q
in ((p
. (i
+ 1))
" I) by
A1,
A2;
thus thesis by
A3;
end;
reconsider J =
[o, the
carrier of S] as
set;
J
in I by
ZFMISC_1: 106;
then (
IFIN (J,I,
{
{} },
{} ))
=
{
{} } by
MATRIX_7:def 1;
then (t
" I)
= (
{
{} }
\/ (
union A)) by
Th80;
then
A5: (
card (t
" I))
= ((
card
{
{} })
+` (
card (
union { (
<*i*>
^^ ((p
. (i
+ 1))
" I)) where i : i
< (
len p) }))) by
A4,
CARD_2: 35,
ZFMISC_1: 50
.= (1
+` (
card (
union { (
<*i*>
^^ ((p
. (i
+ 1))
" I)) where i : i
< (
len p) }))) by
CARD_1: 30;
deffunc
J(
Nat) = (
<*$1*>
^^ ((p
. ($1
+ 1))
" I));
A6: for i, j st i
< (
len f) & j
< (
len f) & i
<> j holds
J(i)
misses
J(j)
proof
let i, j;
B1: (
len
<*i*>)
= 1
= (
len
<*j*>) & (
<*i*>
. 1)
= i & (
<*j*>
. 1)
= j by
FINSEQ_1: 40;
thus thesis by
B1,
Th2;
end;
A7: for i st i
< (
len f) holds (
card
J(i))
= (f
. (i
+ 1))
proof
let i;
assume i
< (
len f);
then
A9: 1
<= (i
+ 1)
<= (
len f) by
NAT_1: 12,
NAT_1: 13;
reconsider t = (p
. (i
+ 1)) as
Element of (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. (i
+ 1))) by
A1,
A9,
FINSEQ_3: 25,
MSUALG_6: 2;
(f
. (i
+ 1))
= (
deg t) by
A1,
A9,
FINSEQ_3: 25;
hence thesis by
Th1;
end;
(
card (
union {
J(i) where i : i
< (
len f) }))
= (
Sum f) from
CardUnion(
A6,
A7);
then (
card (t
" I))
= (1
+` (
Sum f)) by
A2,
A5;
hence (
deg t)
= (i
+ 1) by
A1;
end;
definition
let S, X, T, i;
::
MSAFREE5:def18
func T
deg<= i ->
Subset of T equals { r : (
deg r)
<= i };
coherence
proof
{ r : (
deg r)
<= i }
c= (
Union the
Sorts of T)
proof
let a;
assume a
in { r : (
deg r)
<= i };
then ex r st a
= r & (
deg r)
<= i;
hence a
in (
Union the
Sorts of T);
end;
hence thesis;
end;
end
definition
let S, X, T, i;
::
MSAFREE5:def19
func T
height<= i ->
Subset of T equals { t : t
in T & (
height t)
<= i };
coherence
proof
{ t : t
in T & (
height t)
<= i }
c= (
Union the
Sorts of T)
proof
let a;
assume a
in { t : t
in T & (
height t)
<= i };
then ex t st a
= t & t
in T & (
height t)
<= i;
hence a
in (
Union the
Sorts of T);
end;
hence thesis;
end;
end
theorem ::
MSAFREE5:53
r
in (T
deg<= i) iff (
deg r)
<= i
proof
r
in (T
deg<= i) iff ex r1 st r
= r1 & (
deg r1)
<= i;
hence thesis;
end;
theorem ::
MSAFREE5:54
Th11: (T
deg<=
0 )
= the set of all (x
-term )
proof
thus (T
deg<=
0 )
c= the set of all (x
-term )
proof
let a;
assume a
in (T
deg<=
0 );
then
consider r such that
A1: a
= r & (
deg r)
<=
0 ;
A2: (
deg (
@ r))
= (
deg r)
=
0 by
A1;
reconsider t = r as
Element of (
Free (S,X)) by
MSAFREE4: 39;
(ex s, x st t
= (x
-term )) or ex o, p st t
= (o
-term p) by
Th16;
hence thesis by
A1,
A2,
Th22;
end;
let a;
assume a
in the set of all (x
-term );
then
consider s, x such that
A3: a
= (x
-term );
(
deg (x
-term ))
=
0
<=
0 & (x
-term )
in T by
Th21,
Th24;
then
reconsider r = (x
-term ) as
Element of T;
(
deg r)
= (
deg (
@ r))
=
0 by
Th21;
hence thesis by
A3;
end;
theorem ::
MSAFREE5:55
Th12: (T
height<=
0 )
= ( the set of all (x
-term )
\/ { (o
-term p) : (o
-term p)
in T & (
the_arity_of o)
=
{} })
proof
set I = the set of all (x
-term );
set J = { (o
-term p) : (o
-term p)
in T & (
the_arity_of o)
=
{} };
thus (T
height<=
0 )
c= (I
\/ J)
proof
let a;
assume a
in (T
height<=
0 );
then
consider t such that
A1: a
= t & t
in T & (
height t)
<=
0 ;
per cases by
Th16;
suppose ex s, x st t
= (x
-term );
then t
in I;
hence thesis by
A1,
XBOOLE_0:def 3;
end;
suppose ex o, p st t
= (o
-term p);
then
consider o, p such that
A2: t
= (o
-term p);
reconsider n = (
union { (
height t1) : t1
in (
rng p) }) as
Nat by
Th25;
per cases ;
suppose (
the_arity_of o)
=
{} ;
then t
in J by
A1,
A2;
hence thesis by
A1,
XBOOLE_0:def 3;
end;
suppose (
the_arity_of o)
<>
{} ;
then (
height t)
= (n
+ 1) by
A2,
Th26;
hence thesis by
A1;
end;
end;
end;
let a;
assume a
in (I
\/ J);
per cases by
XBOOLE_0:def 3;
suppose a
in I;
then
consider s, x such that
A3: a
= (x
-term );
(
height (x
-term ))
=
0 & (x
-term )
in T by
Th24,
TREES_1: 42;
hence thesis by
A3;
end;
suppose a
in J;
then
consider o, p such that
A4: a
= (o
-term p) & (o
-term p)
in T & (
the_arity_of o)
=
{} ;
(
height (o
-term p))
=
0 by
A4,
Th20;
hence thesis by
A4;
end;
end;
theorem ::
MSAFREE5:56
Th44: (T
deg<=
0 )
= (
Union (
FreeGen T))
proof
A0: (T
deg<=
0 )
= the set of all (x
-term ) by
Th11;
thus (T
deg<=
0 )
c= (
Union (
FreeGen T))
proof
let x be
object;
assume x
in (T
deg<=
0 );
then
consider s be
SortSymbol of S, y be
Element of (X
. s) such that
A1: x
= (y
-term ) by
A0;
x
in (
FreeGen (s,X)) by
A1,
MSAFREE:def 15;
then x
in ((
FreeGen T)
. s) & s
in the
carrier of S
= (
dom (
FreeGen T)) by
PARTFUN1:def 2,
MSAFREE:def 16;
hence thesis by
CARD_5: 2;
end;
let a be
object;
assume a
in (
Union (
FreeGen T));
then
consider b such that
A2: b
in (
dom (
FreeGen T)) & a
in ((
FreeGen T)
. b) by
CARD_5: 2;
reconsider b as
SortSymbol of S by
A2;
a
in (
FreeGen (b,X)) by
A2,
MSAFREE:def 16;
then
consider y be
set such that
A3: y
in (X
. b) & a
= (
root-tree
[y, b]) by
MSAFREE:def 15;
reconsider y as
Element of (X
. b) by
A3;
a
= (y
-term ) by
A3;
hence a
in (T
deg<=
0 ) by
A0;
end;
theorem ::
MSAFREE5:57
Th10a: r
in (T
height<= i) iff (
height r)
<= i
proof
A1: r
in T & (
height (
@ r))
= (
height r);
r
in (T
height<= i) iff ex t st r
= t & t
in T & (
height t)
<= i;
hence thesis by
A1;
end;
registration
let S, X, T, i;
cluster (T
deg<= i) -> non
empty;
coherence
proof
set s = the
SortSymbol of S;
set x = the
Element of (X
. s);
(
deg (x
-term ))
=
0
<= i & (x
-term )
in T by
Th24,
Th21;
then
reconsider r = (x
-term ) as
Element of T;
(
deg r)
= (
deg (
@ r))
=
0
<= i by
Th21;
then (x
-term )
in { r1 : (
deg r1)
<= i };
hence thesis;
end;
cluster (T
height<= i) -> non
empty;
coherence
proof
set s = the
SortSymbol of S;
set x = the
Element of (X
. s);
(
height (x
-term ))
=
0
<= i & (x
-term )
in T by
Th24,
TREES_1: 42;
then (x
-term )
in { t : t
in T & (
height t)
<= i };
hence thesis;
end;
end
theorem ::
MSAFREE5:58
Th10b: i
<= j implies (T
deg<= i)
c= (T
deg<= j)
proof
assume
Z0: i
<= j;
let a be
object;
assume a
in (T
deg<= i);
then
consider r such that
A2: a
= r & (
deg r)
<= i;
(
deg r)
<= j by
Z0,
A2,
XXREAL_0: 2;
hence thesis by
A2;
end;
theorem ::
MSAFREE5:59
Th10c: i
<= j implies (T
height<= i)
c= (T
height<= j)
proof
assume
Z0: i
<= j;
let a be
object;
assume a
in (T
height<= i);
then
consider t such that
A2: a
= t & t
in T & (
height t)
<= i;
(
height t)
<= j by
Z0,
A2,
XXREAL_0: 2;
hence thesis by
A2;
end;
theorem ::
MSAFREE5:60
(T
deg<= (i
+ 1))
= ((T
deg<=
0 )
\/ ({ (o
-term p) : ex f be
FinSequence of
NAT st i
>= (
Sum f) & (
dom f)
= (
dom (
the_arity_of o)) & for i, t st i
in (
dom (
the_arity_of o)) & t
= (p
. i) holds (f
. i)
= (
deg t) }
/\ (
Union the
Sorts of T)))
proof
set I = { (o
-term p) : ex f be
FinSequence of
NAT st i
>= (
Sum f) & (
dom f)
= (
dom (
the_arity_of o)) & for i, t st i
in (
dom (
the_arity_of o)) & t
= (p
. i) holds (f
. i)
= (
deg t) };
thus (T
deg<= (i
+ 1))
c= ((T
deg<=
0 )
\/ (I
/\ (
Union the
Sorts of T)))
proof
let a be
object;
assume a
in (T
deg<= (i
+ 1));
then
consider r such that
A2: a
= r & (
deg r)
<= (i
+ 1);
reconsider t = r as
Element of (
Free (S,X)) by
MSAFREE4: 39;
per cases by
Th16;
suppose ex s, x st t
= (x
-term );
then t
in the set of all (x
-term );
then t
in (T
deg<=
0 ) by
Th11;
hence thesis by
A2,
XBOOLE_0:def 3;
end;
suppose ex o, p st t
= (o
-term p);
then
consider o, p such that
A3: t
= (o
-term p);
deffunc
F(
object) = (
deg (p
/. $1));
consider f be
Function such that
A4: (
dom f)
= (
dom p) & for a be
object st a
in (
dom p) holds (f
. a)
=
F(a) from
FUNCT_1:sch 3;
(
dom f)
= (
Seg (
len p)) by
A4,
FINSEQ_1:def 3;
then
reconsider f as
FinSequence by
FINSEQ_1:def 2;
(
rng f)
c=
NAT
proof
let y be
object;
assume y
in (
rng f);
then
consider x be
object such that
A5: x
in (
dom f) & y
= (f
. x) by
FUNCT_1:def 3;
y
=
F(x) by
A4,
A5;
hence thesis;
end;
then
reconsider f as
FinSequence of
NAT by
FINSEQ_1:def 4;
A6: (
dom f)
= (
dom (
the_arity_of o)) by
A4,
MSUALG_3: 6;
A8:
now
let i, t;
assume
A7: i
in (
dom (
the_arity_of o)) & t
= (p
. i);
then t
= (p
/. i) by
A4,
A6,
PARTFUN1:def 6;
hence (f
. i)
= (
deg t) by
A4,
A6,
A7;
end;
then (
deg t)
= ((
Sum f)
+ 1) by
A3,
A4,
Th29,
MSUALG_3: 6;
then (
Sum f)
<= i by
A2,
XREAL_1: 6;
then t
in I & t
in (
Union the
Sorts of T) by
A3,
A6,
A8;
then t
in (I
/\ (
Union the
Sorts of T)) by
XBOOLE_0:def 4;
hence thesis by
A2,
XBOOLE_0:def 3;
end;
end;
A10: (T
deg<=
0 )
c= (T
deg<= (i
+ 1)) by
Th10b;
(I
/\ (
Union the
Sorts of T))
c= (T
deg<= (i
+ 1))
proof
let a be
object;
assume
A14: a
in (I
/\ (
Union the
Sorts of T));
then
A11: a
in I & a
in (
Union the
Sorts of T) by
XBOOLE_0:def 4;
reconsider r = a as
Element of T by
A14,
XBOOLE_0:def 4;
consider o, p such that
A12: a
= (o
-term p) & ex f be
FinSequence of
NAT st i
>= (
Sum f) & (
dom f)
= (
dom (
the_arity_of o)) & for i, t st i
in (
dom (
the_arity_of o)) & t
= (p
. i) holds (f
. i)
= (
deg t) by
A11;
consider f be
FinSequence of
NAT such that
A13: i
>= (
Sum f) & (
dom f)
= (
dom (
the_arity_of o)) & for i, t st i
in (
dom (
the_arity_of o)) & t
= (p
. i) holds (f
. i)
= (
deg t) by
A12;
(i
+ 1)
>= ((
Sum f)
+ 1)
= (
deg (o
-term p)) & a
in T & (
deg r)
= (
deg (o
-term p)) by
A14,
A12,
A13,
Th29,
XREAL_1: 6,
XBOOLE_0:def 4;
hence a
in (T
deg<= (i
+ 1));
end;
hence thesis by
A10,
XBOOLE_1: 8;
end;
theorem ::
MSAFREE5:61
(T
height<= (i
+ 1))
= ((T
height<=
0 )
\/ ({ (o
-term p) : (
union { (
height t) : t
in (
rng p) })
c= i }
/\ (
Union the
Sorts of T)))
proof
set I = { (o
-term p) : (
union { (
height t) : t
in (
rng p) })
c= i };
thus (T
height<= (i
+ 1))
c= ((T
height<=
0 )
\/ (I
/\ (
Union the
Sorts of T)))
proof
let a be
object;
assume a
in (T
height<= (i
+ 1));
then
consider t such that
A2: a
= t & t
in T & (
height t)
<= (i
+ 1);
per cases by
Th16;
suppose ex s, x st t
= (x
-term );
then t
in the set of all (x
-term );
then t
in ( the set of all (x
-term )
\/ { (o
-term p) : (o
-term p)
in T & (
the_arity_of o)
=
{} }) by
XBOOLE_0:def 3;
then t
in (T
height<=
0 ) by
Th12;
hence thesis by
A2,
XBOOLE_0:def 3;
end;
suppose ex o, p st t
= (o
-term p);
then
consider o, p such that
A3: t
= (o
-term p);
reconsider n = (
union { (
height t1) : t1
in (
rng p) }) as
Nat by
Th25;
per cases ;
suppose (
the_arity_of o)
=
{} ;
then t
in { (o
-term p) where o, p : (o
-term p)
in T & (
the_arity_of o)
=
{} } by
A2,
A3;
then t
in ( the set of all (x
-term )
\/ { (o
-term p) where o, p : (o
-term p)
in T & (
the_arity_of o)
=
{} }) by
XBOOLE_0:def 3;
then t
in (T
height<=
0 ) by
Th12;
hence thesis by
A2,
XBOOLE_0:def 3;
end;
suppose (
the_arity_of o)
<>
{} ;
then (
height t)
= (n
+ 1) by
A3,
Th26;
then (
Segm n)
c= (
Segm i) by
A2,
XREAL_1: 6,
NAT_1: 39;
then t
in I & t
in (
Union the
Sorts of T) by
A2,
A3;
then t
in (I
/\ (
Union the
Sorts of T)) by
XBOOLE_0:def 4;
hence thesis by
A2,
XBOOLE_0:def 3;
end;
end;
end;
A10: (T
height<=
0 )
c= (T
height<= (i
+ 1)) by
Th10c;
(I
/\ (
Union the
Sorts of T))
c= (T
height<= (i
+ 1))
proof
let a be
object;
assume
A15: a
in (I
/\ (
Union the
Sorts of T));
then a
in I & a
in (
Union the
Sorts of T) by
XBOOLE_0:def 4;
then
consider o, p such that
A12: a
= (o
-term p) & (
union { (
height t) : t
in (
rng p) })
c= i;
reconsider n = (
union { (
height t) : t
in (
rng p) }) as
Nat by
Th25;
A13: (
Segm n)
c= (
Segm i) by
A12;
A14: a
in T by
A15,
XBOOLE_0:def 4;
per cases ;
suppose (
the_arity_of o)
<>
{} ;
then (
height (o
-term p))
= (n
+ 1)
<= (i
+ 1) by
A13,
Th26,
NAT_1: 39,
XREAL_1: 6;
hence a
in (T
height<= (i
+ 1)) by
A12,
A14;
end;
suppose (
the_arity_of o)
=
{} ;
then (
height (o
-term p))
=
0
<= (i
+ 1) by
Th20;
hence a
in (T
height<= (i
+ 1)) by
A12,
A14;
end;
end;
hence thesis by
A10,
XBOOLE_1: 8;
end;
theorem ::
MSAFREE5:62
(
deg t)
>= (
height t)
proof
defpred
P[
Element of (
Free (S,X))] means (
deg $1)
>= (
height $1);
A1: for s be
SortSymbol of S, x be
Element of (X
. s) holds
P[(x
-term )] by
TREES_1: 42;
A2: for o be
OperSymbol of S, p be
Element of (
Args (o,(
Free (S,X)))) st for t be
Element of (
Free (S,X)) st t
in (
rng p) holds
P[t] holds
P[(o
-term p)]
proof
let o, p;
assume
A3: for t be
Element of (
Free (S,X)) st t
in (
rng p) holds
P[t];
per cases ;
suppose (
the_arity_of o)
=
{} ;
hence thesis by
Th20;
end;
suppose
A4: (
the_arity_of o)
<>
{} ;
set i = the
Element of (
dom (
the_arity_of o));
(
dom (
the_arity_of o))
<>
{} by
A4;
then
A9: i
in (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_3: 6;
then (p
/. i)
= (p
. i)
in (
rng p) by
PARTFUN1:def 6,
FUNCT_1:def 3;
then (
height (p
/. i))
in { (
height t1) : t1
in (
rng p) };
then
reconsider I = { (
height t1) : t1
in (
rng p) } as non
empty
finite
natural-membered
set by
Th25;
reconsider n = (
union I) as
Nat;
(
union I)
in I by
SIMPLEX0: 9;
then
consider t1 such that
A7: n
= (
height t1) & t1
in (
rng p);
consider i be
object such that
A8: i
in (
dom p) & t1
= (p
. i) by
A7,
FUNCT_1:def 3;
reconsider i as
Element of
NAT by
A8;
A5: (
height (o
-term p))
= (n
+ 1) by
A4,
Th26;
deffunc
G(
object) = (
deg (p
/. $1));
consider g be
Function such that
A6: (
dom g)
= (
dom (
the_arity_of o)) & for i be
object st i
in (
dom (
the_arity_of o)) holds (g
. i)
=
G(i) from
FUNCT_1:sch 3;
(
dom g)
= (
Seg (
len (
the_arity_of o))) by
A6,
FINSEQ_1:def 3;
then
reconsider g as
FinSequence by
FINSEQ_1:def 2;
(
rng g)
c=
NAT
proof
let a be
object;
assume a
in (
rng g);
then
consider b be
object such that
B2: b
in (
dom g) & a
= (g
. b) by
FUNCT_1:def 3;
a
=
G(b) by
A6,
B2;
hence thesis;
end;
then
reconsider g as
FinSequence of
NAT by
FINSEQ_1:def 4;
now
let i, t;
assume i
in (
dom (
the_arity_of o)) & t
= (p
. i);
then t
= (p
/. i) & (g
. i)
=
G(i) by
A6,
A9,
PARTFUN1:def 6;
hence (g
. i)
= (
deg t);
end;
then
B3: (
deg (o
-term p))
= ((
Sum g)
+ 1) by
A6,
Th29;
(
Sum g)
>= (g
. i)
=
G(i)
= (
deg t1)
>= n by
A3,
A7,
A8,
A9,
A6,
PARTFUN1:def 6,
POLYNOM3: 4;
then (
Sum g)
>= n by
XXREAL_0: 2;
hence (
deg (o
-term p))
>= (
height (o
-term p)) by
B3,
A5,
XREAL_1: 6;
end;
end;
thus
P[t] from
TermInd(
A1,
A2);
end;
theorem ::
MSAFREE5:63
(
Union the
Sorts of T)
= (
union { (T
deg<= i) : not contradiction })
proof
thus (
Union the
Sorts of T)
c= (
union { (T
deg<= i) : not contradiction })
proof
let a;
assume a
in (
Union the
Sorts of T);
then
reconsider t = a as
Element of T;
t
in (T
deg<= (
deg t)) & (T
deg<= (
deg t))
in { (T
deg<= i) : not contradiction };
hence thesis by
TARSKI:def 4;
end;
let a;
assume a
in (
union { (T
deg<= i) : not contradiction });
then
consider I such that
A1: a
in I & I
in { (T
deg<= i) : not contradiction } by
TARSKI:def 4;
consider i such that
A2: I
= (T
deg<= i) by
A1;
thus thesis by
A1,
A2;
end;
theorem ::
MSAFREE5:64
(
Union the
Sorts of T)
= (
union { (T
height<= i) : not contradiction })
proof
thus (
Union the
Sorts of T)
c= (
union { (T
height<= i) : not contradiction })
proof
let a;
assume a
in (
Union the
Sorts of T);
then
reconsider t = a as
Element of T;
t
in (T
height<= (
height t)) & (T
height<= (
height t))
in { (T
height<= i) : not contradiction } by
Th10a;
hence thesis by
TARSKI:def 4;
end;
let a;
assume a
in (
union { (T
height<= i) : not contradiction });
then
consider I such that
A1: a
in I & I
in { (T
height<= i) : not contradiction } by
TARSKI:def 4;
consider i such that
A2: I
= (T
height<= i) by
A1;
thus thesis by
A1,
A2;
end;
theorem ::
MSAFREE5:65
for i holds (T
deg<= i)
c= ((
Free (S,X))
deg<= i)
proof
defpred
P[
Nat] means (T
deg<= $1)
c= ((
Free (S,X))
deg<= $1);
(T
deg<=
0 )
= (
Union (
FreeGen T)) & ((
Free (S,X))
deg<=
0 )
= (
Union (
FreeGen (
Free (S,X)))) by
Th44;
then
A0:
P[
0 ];
A1:
now
let i;
assume
P[i];
thus
P[(i
+ 1)]
proof
let x be
object;
assume x
in (T
deg<= (i
+ 1));
then
consider r such that
A3: x
= r & (
deg r)
<= (i
+ 1);
reconsider t = r as
Element of (
Free (S,X)) by
MSAFREE4: 39;
(
deg t)
= (
deg r);
hence thesis by
A3;
end;
end;
thus for i holds
P[i] from
NAT_1:sch 2(
A0,
A1);
end;
begin
definition
let S, X, T, s, x, r;
::
MSAFREE5:def20
attr r is x
-context means
:
CONTEXT: (
card (
Coim (r,
[x, s])))
= 1;
::
MSAFREE5:def21
attr r is x
-omitting means
:
OMIT: (
Coim (r,
[x, s]))
=
{} ;
end
definition
let S, X, T, r;
::
MSAFREE5:def22
func
vf r ->
set equals (
proj1 ((
rng r)
/\
[:(
Union X), the
carrier of S:]));
coherence ;
end
theorem ::
MSAFREE5:66
ThR1: (
vf r)
= (
Union (X
variables_in r))
proof
thus (
vf r)
c= (
Union (X
variables_in r))
proof
let a;
assume a
in (
vf r);
then
consider b such that
A1:
[a, b]
in ((
rng r)
/\
[:(
Union X), the
carrier of S:]) by
XTUPLE_0:def 12;
A2:
[a, b]
in (
rng r) &
[a, b]
in
[:(
Union X), the
carrier of S:] by
A1,
XBOOLE_0:def 4;
then a
in (
Union X) & b
in the
carrier of S by
ZFMISC_1: 87;
then
consider c be
object such that
A4: c
in (
dom X) & a
in (X
. c) by
CARD_5: 2;
reconsider b, c as
SortSymbol of S by
A4,
A2,
ZFMISC_1: 87;
consider d be
object such that
A5: d
in (
dom r) &
[a, b]
= (r
. d) by
A2,
FUNCT_1:def 3;
reconsider d as
Element of (
dom r) by
A5;
reconsider t = (r
| d) as
Element of T by
MSAFREE4: 44;
A7: ((X
variables_in r)
. b)
= ((X
. b)
/\ { (a
`1 ) where a be
Element of (
rng r) : (a
`2 )
= b }) by
MSAFREE3: 9;
t is
Element of (
Free (S,X)) by
MSAFREE4: 39;
per cases by
Th16;
suppose ex s, x st t
= (x
-term );
then
consider s, x such that
A6: t
= (x
-term );
(
<*>
NAT )
in ((
dom r)
| d) by
TREES_1: 22;
then (r
. (d
^
{} ))
= (t
.
{} ) by
TREES_2:def 10
.=
[x, s] by
A6,
TREES_4: 3;
then
A8: a
= x & b
= s by
A5,
XTUPLE_0: 1;
(
[a, b]
`1 )
= a & (
[a, b]
`2 )
= b;
then a
in { (a
`1 ) where a be
Element of (
rng r) : (a
`2 )
= b } by
A2;
then a
in ((X
variables_in r)
. s) & (
dom (X
variables_in r))
= the
carrier of S by
A7,
A8,
XBOOLE_0:def 4,
PARTFUN1:def 2;
hence thesis by
CARD_5: 2;
end;
suppose ex o, p st t
= (o
-term p);
then
consider o, p such that
A6: t
= (o
-term p);
(
<*>
NAT )
in ((
dom r)
| d) by
TREES_1: 22;
then (r
. (d
^
{} ))
= (t
.
{} ) by
TREES_2:def 10
.=
[o, the
carrier of S] by
A6,
TREES_4:def 4;
then b
in the
carrier of S
= b by
A5,
XTUPLE_0: 1;
hence thesis;
end;
end;
let a;
assume a
in (
Union (X
variables_in r));
then
consider b such that
B1: b
in (
dom (X
variables_in r)) & a
in ((X
variables_in r)
. b) by
CARD_5: 2;
reconsider b as
SortSymbol of S by
B1;
((X
variables_in r)
. b)
= ((X
. b)
/\ { (a
`1 ) where a be
Element of (
rng r) : (a
`2 )
= b }) by
MSAFREE3: 9;
then
B2: a
in (X
. b) & a
in { (a
`1 ) where a be
Element of (
rng r) : (a
`2 )
= b } by
B1,
XBOOLE_0:def 4;
then
consider q be
Element of (
rng r) such that
B3: a
= (q
`1 ) & (q
`2 )
= b;
(
dom X)
= the
carrier of S by
PARTFUN1:def 2;
then a
in (
Union X) by
B2,
CARD_5: 2;
then
B6:
[a, b]
in
[:(
Union X), the
carrier of S:] by
ZFMISC_1: 87;
consider xi be
object such that
B4: xi
in (
dom r) & q
= (r
. xi) by
FUNCT_1:def 3;
reconsider xi as
Element of (
dom r) by
B4;
reconsider t = (r
| xi) as
Element of T by
MSAFREE4: 44;
t is
Element of (
Free (S,X)) by
MSAFREE4: 39;
per cases by
Th16;
suppose ex s, x st t
= (x
-term );
then
consider s, x such that
A6: t
= (x
-term );
(
<*>
NAT )
in ((
dom r)
| xi) by
TREES_1: 22;
then (r
. (xi
^
{} ))
= (t
.
{} ) by
TREES_2:def 10
.=
[x, s] by
A6,
TREES_4: 3;
then
[a, b]
in ((
rng r)
/\
[:(
Union X), the
carrier of S:]) by
B6,
B3,
B4,
XBOOLE_0:def 4;
hence thesis by
XTUPLE_0:def 12;
end;
suppose ex o, p st t
= (o
-term p);
then
consider o, p such that
A6: t
= (o
-term p);
(
<*>
NAT )
in ((
dom r)
| xi) by
TREES_1: 22;
then (r
. (xi
^
{} ))
= (t
.
{} ) by
TREES_2:def 10
.=
[o, the
carrier of S] by
A6,
TREES_4:def 4;
then b
in the
carrier of S
= b by
B3,
B4;
hence thesis;
end;
end;
theorem ::
MSAFREE5:67
(
vf (x
-term ))
=
{x}
proof
A1: (
rng (x
-term ))
=
{
[x, s]} by
FUNCOP_1: 8;
(
rng (x
-term ))
c=
[:(
Union X), the
carrier of S:] by
A1,
ZFMISC_1: 31,
ZFMISC_1: 87;
then ((
rng (x
-term ))
/\
[:(
Union X), the
carrier of S:])
= (
rng (x
-term )) by
XBOOLE_1: 28;
hence thesis by
A1,
RELAT_1: 9;
end;
theorem ::
MSAFREE5:68
(
vf (o
-term p))
= (
union { (
vf t) : t
in (
rng p) })
proof
B1: (
dom (X
variables_in (o
-term p)))
= the
carrier of S by
PARTFUN1:def 2;
thus (
vf (o
-term p))
c= (
union { (
vf t) : t
in (
rng p) })
proof
let a;
assume a
in (
vf (o
-term p));
then a
in (
Union (X
variables_in (o
-term p))) by
ThR1;
then
consider b such that
A1: b
in (
dom (X
variables_in (o
-term p))) & a
in ((X
variables_in (o
-term p))
. b) by
CARD_5: 2;
reconsider b as
SortSymbol of S by
A1;
consider t be
DecoratedTree such that
A2: t
in (
rng p) & a
in ((X
variables_in t)
. b) by
A1,
MSAFREE3: 13;
reconsider t as
Element of (
Free (S,X)) by
A2,
RELAT_1: 167;
A3: (
dom (X
variables_in t))
= the
carrier of S by
PARTFUN1:def 2;
a
in (
Union (X
variables_in t))
= (
vf t)
in { (
vf t1) : t1
in (
rng p) } by
A2,
A3,
ThR1,
CARD_5: 2;
hence a
in (
union { (
vf t1) : t1
in (
rng p) }) by
TARSKI:def 4;
end;
let a;
assume a
in (
union { (
vf t) : t
in (
rng p) });
then
consider I such that
A4: a
in I
in { (
vf t) : t
in (
rng p) } by
TARSKI:def 4;
consider t such that
A5: I
= (
vf t) & t
in (
rng p) by
A4;
a
in (
Union (X
variables_in t)) by
A4,
A5,
ThR1;
then
consider b such that
A6: b
in (
dom (X
variables_in t)) & a
in ((X
variables_in t)
. b) by
CARD_5: 2;
reconsider b as
SortSymbol of S by
A6;
a
in ((X
variables_in (o
-term p))
. b) by
A5,
A6,
MSAFREE3: 13;
then a
in (
Union (X
variables_in (o
-term p))) by
B1,
CARD_5: 2;
hence thesis by
ThR1;
end;
registration
let S, X, T, r;
cluster (
vf r) ->
finite;
coherence ;
end
theorem ::
MSAFREE5:69
Th92: x
nin (
vf r) implies r is x
-omitting
proof
assume x
nin (
vf r);
then
A1:
[x, s]
nin ((
rng r)
/\
[:(
Union X), the
carrier of S:]) by
XTUPLE_0:def 12;
[x, s]
in
[:(
Union X), the
carrier of S:] by
ZFMISC_1: 87;
then
[x, s]
nin (
rng r) by
A1,
XBOOLE_0:def 4;
hence (
Coim (r,
[x, s]))
=
{} by
FUNCT_1: 72;
end;
definition
let S, X, s, t;
::
MSAFREE5:def23
attr t is s
-context means ex x st t is x
-context;
end
registration
let S, X, s, x;
cluster x
-context -> s
-context for
Element of (
Free (S,X));
coherence ;
end
registration
let S, X, s, x;
cluster (x
-term ) -> x
-context;
coherence
proof
set t = (x
-term );
[x, s]
in
{
[x, s]} by
TARSKI:def 1;
then (
Coim (t,
[x, s]))
=
{
{} } by
TREES_1: 29,
FUNCOP_1: 14;
hence (
card (
Coim (t,
[x, s])))
= 1 by
CARD_1: 30;
end;
end
registration
let S, X, s, x;
cluster x
-context non
compound for
Element of (
Free (S,X));
existence
proof
take t = (x
-term );
thus thesis;
end;
cluster x
-omitting -> non x
-context for
Element of (
Free (S,X));
coherence ;
end
theorem ::
MSAFREE5:70
ThC1: for s1,s2 be
SortSymbol of S holds for x1 be
Element of (X
. s1) holds for x2 be
Element of (X
. s2) holds s1
<> s2 or x1
<> x2 iff (x1
-term ) is x2
-omitting
proof
let s1,s2 be
SortSymbol of S;
let x1 be
Element of (X
. s1);
let x2 be
Element of (X
. s2);
hereby
assume s1
<> s2 or x1
<> x2;
then
[x1, s1]
<>
[x2, s2] by
XTUPLE_0: 1;
then
[x1, s1]
nin
{
[x2, s2]} by
TARSKI:def 1;
hence (x1
-term ) is x2
-omitting by
FUNCOP_1: 16;
end;
assume (
Coim ((x1
-term ),
[x2, s2]))
=
{} ;
then
[x1, s1]
nin
{
[x2, s2]} by
FUNCOP_1: 14;
hence s1
<> s2 or x1
<> x2 by
TARSKI:def 1;
end;
registration
let S, s, s1, Z, z;
let z9 be z
-different
Element of (Z
. s1);
cluster (z9
-term ) -> z
-omitting;
coherence
proof
z9
<> z by
DIFF;
hence thesis by
ThC1;
end;
end
registration
let S, s, Z, z;
cluster z
-omitting for
Element of (
Free (S,Z));
existence
proof
consider y be
Element of (Z
. s) such that
A1: y
<> z by
SUBSET_1: 50;
take (y
-term );
thus thesis by
A1,
ThC1;
end;
end
registration
let S, s, s1, Z, z;
let z1 be z
-different
Element of (Z
. s1);
cluster z
-omittingz1
-context for
Element of (
Free (S,Z));
existence
proof
take (z1
-term );
thus thesis;
end;
end
definition
let S, X, s, x;
mode
context of x is x
-context
Element of (
Free (S,X));
end
theorem ::
MSAFREE5:71
Th27: for r be
SortSymbol of S, y be
Element of (X
. r) holds (x
-term ) is
context of y iff r
= s & x
= y
proof
let r be
SortSymbol of S, y be
Element of (X
. r);
A0: (
[x, s]
in
{
[y, r]} iff
[x, s]
=
[y, r]) & ((x
-term )
.
{} )
=
[x, s] & (
Coim ((x
-term ),
[y, r]))
c= (
dom (x
-term ))
=
{
{} } &
{}
in
{
{} } by
TARSKI:def 1,
TREES_1: 29,
TREES_4: 3,
RELAT_1: 132;
(ex a st (
Coim ((x
-term ),
[y, r]))
=
{a}) implies (
Coim ((x
-term ),
[y, r]))
=
{
{} } by
A0,
ZFMISC_1: 33;
then (
card (
Coim ((x
-term ),
[y, r])))
= 1 implies (
Coim ((x
-term ),
[y, r]))
=
{
{} } by
CARD_2: 42;
hence thesis by
A0,
CONTEXT,
XTUPLE_0: 1,
FUNCT_1:def 7;
end;
definition
let S, X, s;
mode
context of s,X is s
-context
Element of (
Free (S,X));
end
reserve C for
context of x,
C1 for
context of y,
C9 for
context of z,
C11 for
context of x11,
C12 for
context of y11,
D for
context of s, X;
theorem ::
MSAFREE5:72
C is
context of s, X;
theorem ::
MSAFREE5:73
Th95: x
in (
vf C)
proof
(
card (
Coim (C,
[x, s])))
= 1 by
CONTEXT;
then
consider a such that
A1: (
Coim (C,
[x, s]))
=
{a} by
CARD_2: 42;
a
in
{a} by
TARSKI:def 1;
then a
in (
dom C) & (C
. a)
in
{
[x, s]} by
A1,
FUNCT_1:def 7;
then
A2:
[x, s]
= (C
. a)
in (
rng C) by
TARSKI:def 1,
FUNCT_1:def 3;
[x, s]
in
[:(
Union X), the
carrier of S:] by
ZFMISC_1: 87;
then
[x, s]
in ((
rng C)
/\
[:(
Union X), the
carrier of S:]) by
A2,
XBOOLE_0:def 4;
hence thesis by
XTUPLE_0:def 12;
end;
definition
let S, o, s, X, x, p;
::
MSAFREE5:def24
attr p is x
-context_including means ex i st i
in (
dom p) & (p
. i) is
context of x & for j, t st j
in (
dom p) & j
<> i & t
= (p
. j) holds t is x
-omitting;
end
registration
let S, o, s, X, x;
cluster x
-context_including -> non
empty for
Element of (
Args (o,(
Free (S,X))));
coherence ;
end
theorem ::
MSAFREE5:74
Th53: p is x
-context_including iff (o
-term p) is
context of x
proof
set I =
{
[x, s]};
set k = p;
reconsider J =
[o, the
carrier of S] as
set;
s
in the
carrier of S;
then s
<> the
carrier of S;
then
[o, the
carrier of S]
<>
[x, s] by
XTUPLE_0: 1;
then
[o, the
carrier of S]
nin I by
TARSKI:def 1;
then (
IFIN (J,I,
{
{} },
{} ))
=
{} by
MATRIX_7:def 1;
then
A5: ((o
-term k)
" I)
= (
{}
\/ (
union { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) : i
< (
len k) })) by
Th80;
thus k is x
-context_including implies (o
-term k) is
context of x
proof
given i such that
A6: i
in (
dom k) & (k
. i) is
context of x & for j holds for t be
Element of (
Free (S,X)) st j
in (
dom k) & j
<> i & t
= (k
. j) holds t is x
-omitting;
reconsider C = (k
. i) as
context of x by
A6;
(
card (
Coim (C,
[x, s])))
= 1 by
CONTEXT;
then
consider a such that
A9: (C
" I)
=
{a} by
CARD_2: 42;
a
in (C
" I) by
A9,
TARSKI:def 1;
then
reconsider a as
FinSequence;
consider j such that
A7: i
= (1
+ j) by
A6,
FINSEQ_3: 25,
NAT_1: 10;
(1
+ j)
<= (
len k) by
A6,
A7,
FINSEQ_3: 25;
then
A8: j
< (
len k) by
NAT_1: 13;
(
union { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) where i : i
< (
len k) })
=
{(
<*j*>
^ a)}
proof
thus (
union { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) where i : i
< (
len k) })
c=
{(
<*j*>
^ a)}
proof
let b;
assume b
in (
union { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) where i : i
< (
len k) });
then
consider J such that
B1: b
in J
in { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) where i : i
< (
len k) } by
TARSKI:def 4;
consider n be
Nat such that
B2: J
= (
<*n*>
^^ ((k
. (n
+ 1))
" I)) & n
< (
len k) by
B1;
B4: 1
<= (n
+ 1)
<= (
len k) by
B2,
NAT_1: 11,
NAT_1: 13;
then (n
+ 1)
in (
dom k) by
FINSEQ_3: 25;
then
reconsider t = (k
. (n
+ 1)) as
Element of (
Free (S,X)) by
FUNCT_1: 102;
per cases ;
suppose n
= j;
hence thesis by
B1,
B2,
A9,
A7,
Th6;
end;
suppose n
<> j;
then (n
+ 1)
<> (j
+ 1);
then t is x
-omitting by
A6,
A7,
B4,
FINSEQ_3: 25;
hence thesis by
B1,
B2;
end;
end;
let b;
assume b
in
{(
<*j*>
^ a)};
then b
in (
<*j*>
^^ (C
" I))
in { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) where i : i
< (
len k) } by
A7,
A8,
A9,
Th6;
hence thesis by
TARSKI:def 4;
end;
then (
card (
Coim ((o
-term k),
[x, s])))
= 1 by
A5,
CARD_1: 30;
hence thesis by
CONTEXT;
end;
assume (o
-term k) is
context of x;
then (
card (
Coim ((o
-term k),
[x, s])))
= 1 by
CONTEXT;
then
consider a such that
D1: (
Coim ((o
-term k),
[x, s]))
=
{a} by
CARD_2: 42;
a
in ((o
-term k)
" I) by
D1,
TARSKI:def 1;
then
consider J such that
D2: a
in J
in { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) : i
< (
len k) } by
A5,
TARSKI:def 4;
consider i such that
D3: J
= (
<*i*>
^^ ((k
. (i
+ 1))
" I)) & i
< (
len k) by
D2;
consider p be
Element of ((k
. (i
+ 1))
" I) such that
D4: a
= (
<*i*>
^ p) & p
in ((k
. (i
+ 1))
" I) by
D2,
D3;
take n = (i
+ 1);
1
<= n
<= (
len k) by
D3,
NAT_1: 11,
NAT_1: 13;
hence n
in (
dom k) by
FINSEQ_3: 25;
then
reconsider kn = (k
. n) as
Element of (
Free (S,X)) by
FUNCT_1: 102;
D6:
{p}
c= (kn
" I) by
D4,
ZFMISC_1: 31;
J
c=
{a}
= (
<*i*>
^^
{p}) by
A5,
D1,
D2,
D4,
Th6,
ZFMISC_1: 74;
then (kn
" I)
c=
{p} by
D3,
Th18;
then (kn
" I)
=
{p} by
D6,
XBOOLE_0:def 10;
then (
card (
Coim (kn,
[x, s])))
= 1 by
CARD_1: 30;
hence (k
. n) is
context of x by
CONTEXT;
let j;
let t be
Element of (
Free (S,X));
assume
D7: j
in (
dom k) & j
<> n & t
= (k
. j);
assume (
Coim (t,
[x, s]))
<>
{} ;
then
consider c be
object such that
D8: c
in (
Coim (t,
[x, s])) by
XBOOLE_0: 7;
reconsider c as
Node of t by
D8,
FUNCT_1:def 7;
consider m be
Nat such that
D9: j
= (1
+ m) by
D7,
FINSEQ_3: 25,
NAT_1: 10;
(1
+ m)
<= (
len k) by
D7,
D9,
FINSEQ_3: 25;
then m
< (
len k) by
NAT_1: 13;
then (
<*m*>
^ c)
in (
<*m*>
^^ (t
" I))
in { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) where i : i
< (
len k) } by
D7,
D8,
D9;
then (
<*m*>
^ c)
in
{a} by
A5,
D1,
TARSKI:def 4;
then (
<*m*>
^ c)
= (
<*i*>
^ p) by
D4,
TARSKI:def 1;
then m
= ((
<*m*>
^ c)
. 1)
= i by
FINSEQ_1: 41;
hence contradiction by
D7,
D9;
end;
theorem ::
MSAFREE5:75
Th54: (for i st i
in (
dom p) holds (p
/. i) is x
-omitting) iff (o
-term p) is x
-omitting
proof
set I =
{
[x, s]};
set k = p;
reconsider J =
[o, the
carrier of S] as
set;
s
in the
carrier of S;
then s
<> the
carrier of S;
then
[o, the
carrier of S]
<>
[x, s] by
XTUPLE_0: 1;
then
[o, the
carrier of S]
nin I by
TARSKI:def 1;
then (
IFIN (J,I,
{
{} },
{} ))
=
{} by
MATRIX_7:def 1;
then
A5: ((o
-term k)
" I)
= (
{}
\/ (
union { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) : i
< (
len k) })) by
Th80;
hereby
assume
A6: for i st i
in (
dom p) holds (p
/. i) is x
-omitting;
thus (o
-term p) is x
-omitting
proof
assume (
Coim ((o
-term p),
[x, s]))
<>
{} ;
then
consider a such that
A7: a
in (
Coim ((o
-term p),
[x, s])) by
XBOOLE_0: 7;
consider J such that
A8: a
in J
in { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) : i
< (
len k) } by
A5,
A7,
TARSKI:def 4;
consider i such that
A9: J
= (
<*i*>
^^ ((p
. (i
+ 1))
" I)) & i
< (
len p) by
A8;
1
<= (i
+ 1)
<= (
len p) by
A9,
NAT_1: 11,
NAT_1: 13;
then (p
/. (i
+ 1))
= (p
. (i
+ 1)) & (p
/. (i
+ 1)) is x
-omitting by
A6,
FINSEQ_3: 25,
PARTFUN1:def 6;
hence contradiction by
A8,
A9;
end;
end;
assume
B1: (
Coim ((o
-term p),
[x, s]))
=
{} ;
let i;
assume
B2: i
in (
dom p);
then
consider j such that
B3: i
= (1
+ j) by
NAT_1: 10,
FINSEQ_3: 25;
(1
+ j)
<= (
len p) by
B2,
B3,
FINSEQ_3: 25;
then j
< (
len p) by
NAT_1: 13;
then (
<*j*>
^^ ((p
. i)
" I))
in { (
<*i*>
^^ ((k
. (i
+ 1))
" I)) where i : i
< (
len k) } by
B3;
then (
<*j*>
^^ ((p
. i)
" I))
c=
{}
= (
<*j*>
^^
{} ) by
A5,
B1,
ZFMISC_1: 74;
then ((p
. i)
" I)
c=
{} & (p
/. i)
= (p
. i) by
B2,
Th18,
PARTFUN1:def 6;
hence (
Coim ((p
/. i),
[x, s]))
=
{} ;
end;
theorem ::
MSAFREE5:76
Th54A: (for t st t
in (
rng p) holds t is x
-omitting) iff (o
-term p) is x
-omitting
proof
A0:
now
assume
A1: for i st i
in (
dom p) holds (p
/. i) is x
-omitting;
let t;
assume t
in (
rng p);
then
consider i be
object such that
A2: i
in (
dom p) & t
= (p
. i) by
FUNCT_1:def 3;
reconsider i as
Nat by
A2;
t
= (p
/. i) by
A2,
PARTFUN1:def 6;
hence t is x
-omitting by
A1,
A2;
end;
now
assume
A3: for t st t
in (
rng p) holds t is x
-omitting;
let i;
assume i
in (
dom p);
then (p
/. i)
= (p
. i)
in (
rng p) by
FUNCT_1:def 3,
PARTFUN1:def 6;
hence (p
/. i) is x
-omitting by
A3;
end;
hence thesis by
A0,
Th54;
end;
definition
let S, s, o;
::
MSAFREE5:def25
attr o is s
-dependent means
:
DEP: s
in (
rng (
the_arity_of o));
end
registration
let S be
sufficiently_rich non
void non
empty
ManySortedSign;
let s be
SortSymbol of S;
cluster s
-dependent for
OperSymbol of S;
existence
proof
consider o be
OperSymbol of S such that
A1: s
in (
rng (
the_arity_of o)) by
SR;
take o;
thus s
in (
rng (
the_arity_of o)) by
A1;
end;
end
reserve S9 for
sufficiently_rich non
empty non
void
ManySortedSign,
s9 for
SortSymbol of S9,
o9 for s9
-dependent
OperSymbol of S9,
X9 for
non-trivial
ManySortedSet of the
carrier of S9,
x9 for
Element of (X9
. s9);
registration
let S9, s9, o9, X9, x9;
cluster x9
-context_including for
Element of (
Args (o9,(
Free (S9,X9))));
existence
proof
s9
in (
rng (
the_arity_of o9)) by
DEP;
then
consider i be
object such that
A1: i
in (
dom (
the_arity_of o9)) & s9
= ((
the_arity_of o9)
. i) by
FUNCT_1:def 3;
reconsider i as
Nat by
A1;
A2: s9
= ((
the_arity_of o9)
/. i) by
A1,
PARTFUN1:def 6;
deffunc
F(
Nat) = (
IFEQ ($1,i,(x9
-term ),( the x9
-different
Element of (X9
. ((
the_arity_of o9)
/. $1))
-term )));
consider f be
FinSequence such that
A3: (
len f)
= (
len (
the_arity_of o9)) & for i st i
in (
dom f) holds (f
. i)
=
F(i) from
FINSEQ_1:sch 2;
now
let j;
assume j
in (
dom f);
then (f
. j)
=
F(j) & (i
= j or i
<> j) by
A3;
then i
= j & (f
. j)
= (x9
-term ) or (f
. j)
= ( the x9
-different
Element of (X9
. ((
the_arity_of o9)
/. j))
-term ) by
FUNCOP_1:def 8;
hence (f
. j)
in (the
Sorts of (
Free (S9,X9))
. ((
the_arity_of o9)
/. j)) by
A2;
end;
then
reconsider f as
Element of (
Args (o9,(
Free (S9,X9)))) by
A3,
MSAFREE2: 5;
take f, i;
thus i
in (
dom f) by
A1,
A3,
FINSEQ_3: 29;
then (f
. i)
=
F(i) by
A3
.= (x9
-term ) by
FUNCOP_1:def 8;
hence (f
. i) is
context of x9;
let j;
let t be
Element of (
Free (S9,X9));
assume j
in (
dom f) & j
<> i;
then (f
. j)
=
F(j)
= ( the x9
-different
Element of (X9
. ((
the_arity_of o9)
/. j))
-term ) by
A3,
FUNCOP_1:def 8;
hence t
= (f
. j) implies t is x9
-omitting;
end;
end
registration
let S9, X9, s9, x9, o9;
let p9 be x9
-context_including
Element of (
Args (o9,(
Free (S9,X9))));
cluster (o9
-term p9) -> x9
-context;
coherence by
Th53;
end
definition
let S, o, s, X, x, p;
consider i such that
B: i
in (
dom p) & (p
. i) is
context of x & for j holds for t be
Element of (
Free (S,X)) st j
in (
dom p) & j
<> i & t
= (p
. j) holds t is x
-omitting by
A;
::
MSAFREE5:def26
func x
-context_pos_in p ->
Nat means
:
CPI: (p
. it ) is
context of x;
existence by
B;
uniqueness
proof
let i1,i2 be
Nat such that
A1: (p
. i1) is
context of x and
A2: (p
. i2) is
context of x;
reconsider C1 = (p
. i1), C2 = (p
. i2) as
context of x by
A1,
A2;
i1
in (
dom p) & i2
in (
dom p) by
A1,
A2,
FUNCT_1:def 2;
then (i1
<> i implies C1 is x
-omitting) & (i2
<> i implies C2 is x
-omitting) by
B;
hence i1
= i2;
end;
::
MSAFREE5:def27
func x
-context_in p ->
context of x means
:
CIn: it
in (
rng p);
existence
proof
reconsider t = (p
. i) as
context of x by
B;
take t;
thus t
in (
rng p) by
B,
FUNCT_1:def 3;
end;
uniqueness
proof
let t1,t2 be
context of x such that
A3: t1
in (
rng p) and
A4: t2
in (
rng p);
consider i1 be
object such that
A5: i1
in (
dom p) & t1
= (p
. i1) by
A3,
FUNCT_1:def 3;
consider i2 be
object such that
A6: i2
in (
dom p) & t2
= (p
. i2) by
A4,
FUNCT_1:def 3;
reconsider i1, i2 as
Nat by
A5,
A6;
A7: i1
<> i implies t1 is x
-omitting by
B,
A5;
i2
<> i implies t2 is x
-omitting by
B,
A6;
hence thesis by
A5,
A6,
A7;
end;
end
theorem ::
MSAFREE5:77
Th71: p is x
-context_including implies (x
-context_pos_in p)
in (
dom p) & (x
-context_in p)
= (p
. (x
-context_pos_in p))
proof
assume
A0: p is x
-context_including;
then
A1: (p
. (x
-context_pos_in p)) is
context of x by
CPI;
thus (x
-context_pos_in p)
in (
dom p) by
A0,
CPI;
then (p
. (x
-context_pos_in p))
in (
rng p) by
FUNCT_1:def 3;
hence thesis by
A0,
A1,
CIn;
end;
theorem ::
MSAFREE5:78
Th72: p is x
-context_including & (x
-context_pos_in p)
<> i
in (
dom p) implies (p
/. i) is x
-omitting
proof
assume
A1: p is x
-context_including & (x
-context_pos_in p)
<> i
in (
dom p);
then
consider j such that
A2: j
in (
dom p) & (p
. j) is
context of x & for n be
Nat holds for t st n
in (
dom p) & n
<> j & t
= (p
. n) holds t is x
-omitting;
A3: (x
-context_pos_in p)
= j by
A1,
A2,
CPI;
(p
/. i)
= (p
. i) by
A1,
PARTFUN1:def 6;
hence (p
/. i) is x
-omitting by
A1,
A2,
A3;
end;
theorem ::
MSAFREE5:79
Th73: p is x
-context_including implies p
just_once_values (x
-context_in p)
proof
set k = p, z = x;
assume
A0: k is z
-context_including;
(
Coim (k,(z
-context_in k)))
=
{(z
-context_pos_in k)}
proof
thus (
Coim (k,(z
-context_in k)))
c=
{(z
-context_pos_in k)}
proof
let a;
reconsider x = a as
set by
TARSKI: 1;
assume a
in (
Coim (k,(z
-context_in k)));
then x
in (
dom k) & (k
. x)
in
{(z
-context_in k)} by
FUNCT_1:def 7;
then x is
Nat & (k
. x)
= (z
-context_in k) by
TARSKI:def 1;
then x
= (z
-context_pos_in k) by
A0,
CPI;
hence a
in
{(z
-context_pos_in k)} by
TARSKI:def 1;
end;
let a be
Nat;
assume a
in
{(z
-context_pos_in k)};
then a
= (z
-context_pos_in k) by
TARSKI:def 1;
then (k
. a)
= (z
-context_in k) by
A0,
Th71;
then a
in (
dom k) & (k
. a)
in
{(z
-context_in k)} by
TARSKI:def 1,
FUNCT_1:def 2;
hence thesis by
FUNCT_1:def 7;
end;
hence (
card (
Coim (k,(z
-context_in k))))
= 1 by
CARD_1: 30;
end;
theorem ::
MSAFREE5:80
p is x
-context_including implies (p
<- (x
-context_in p))
= (x
-context_pos_in p)
proof
assume
A1: p is x
-context_including;
then p
just_once_values (x
-context_in p) by
Th73;
then (p
<- (x
-context_in p))
in (
dom p) & (p
. (p
<- (x
-context_in p)))
= (x
-context_in p) by
FINSEQ_4:def 3;
hence thesis by
A1,
CPI;
end;
theorem ::
MSAFREE5:81
C
= (x
-term ) or ex o, p st p is x
-context_including & C
= (o
-term p)
proof
per cases by
Th16;
suppose ex s, x st C
= (x
-term );
then
consider s0 be
SortSymbol of S, y be
Element of (X
. s0) such that
A1: C
= (y
-term );
s0
= s & x
= y by
A1,
Th27;
hence thesis by
A1;
end;
suppose ex o, p st C
= (o
-term p);
then
consider o, p such that
A2: C
= (o
-term p);
thus thesis by
A2,
Th53;
end;
end;
registration
let S9, X9, s9, x9;
cluster x9
-context
compound for
Element of (
Free (S9,X9));
existence
proof
set o9 = the s9
-dependent
OperSymbol of S9;
set p9 = the x9
-context_including
Element of (
Args (o9,(
Free (S9,X9))));
take t = (o9
-term p9);
thus t is x9
-context;
thus t is
compound;
end;
end
scheme ::
MSAFREE5:sch4
ContextInd { P[
set], S() -> non
empty non
void
ManySortedSign , s() ->
SortSymbol of S() , X() ->
non-empty
ManySortedSet of the
carrier of S() , x() ->
Element of (X()
. s()) , C() ->
context of x() } :
P[C()]
provided
A0: P[(x()
-term )]
and
A1: for o be
OperSymbol of S() holds for w be
Element of (
Args (o,(
Free (S(),X())))) st w is x()
-context_including holds P[(x()
-context_in w)] implies for C be
context of x() st C
= (o
-term w) holds P[C];
defpred
Q[
Element of (
Free (S(),X()))] means $1 is
context of x() implies P[$1];
A2: for s be
SortSymbol of S(), x be
Element of (X()
. s) holds
Q[(x
-term )]
proof
let s be
SortSymbol of S(), x be
Element of (X()
. s);
assume (x
-term ) is
context of x();
then s
= s() & x
= x() by
Th27;
hence P[(x
-term )] by
A0;
end;
A3: for o be
OperSymbol of S(), p be
Element of (
Args (o,(
Free (S(),X())))) st for t be
Element of (
Free (S(),X())) st t
in (
rng p) holds
Q[t] holds
Q[(o
-term p)]
proof
let o be
OperSymbol of S(), p be
Element of (
Args (o,(
Free (S(),X())))) such that
A4: for t be
Element of (
Free (S(),X())) st t
in (
rng p) holds
Q[t] and
A5: (o
-term p) is
context of x();
p is x()
-context_including by
A5,
Th53;
then (x()
-context_in p)
in (
rng p) by
CIn;
then P[(x()
-context_in p)] by
A4;
hence thesis by
A1,
A5,
Th53;
end;
Q[C()] from
TermInd(
A2,
A3);
hence P[C()];
end;
theorem ::
MSAFREE5:82
Th23: t is x
-omitting implies ((t,
[x, s])
<- t1)
= t
proof
assume
A1: (
Coim (t,
[x, s]))
=
{} ;
reconsider dt = (
dom t) as
set;
AA: (
dom ((t,
[x, s])
<- t1))
= dt
proof
thus (
dom ((t,
[x, s])
<- t1))
c= dt
proof
let a;
assume a
in (
dom ((t,
[x, s])
<- t1));
then
reconsider r = a as
Node of ((t,
[x, s])
<- t1);
per cases by
TREES_4:def 7;
suppose r
in (
dom t);
hence thesis;
end;
suppose ex q be
Node of t, p be
Node of t1 st q
in (
Leaves (
dom t)) & (t
. q)
=
[x, s] & r
= (q
^ p);
then
consider q be
Node of t, p be
Node of t1 such that
A2: q
in (
Leaves (
dom t)) & (t
. q)
=
[x, s] & r
= (q
^ p);
[x, s]
in
{
[x, s]} by
TARSKI:def 1;
hence thesis by
A1,
A2,
FUNCT_1:def 7;
end;
end;
thus dt
c= (
dom ((t,
[x, s])
<- t1)) by
TREES_4:def 7;
end;
now
let a;
assume a
in (
dom t);
then
reconsider r = a as
Node of t;
[x, s]
in
{
[x, s]} by
TARSKI:def 1;
then (t
. r)
<>
[x, s] by
A1,
FUNCT_1:def 7;
hence (((t,
[x, s])
<- t1)
. a)
= (t
. a) by
TREES_4:def 7;
end;
hence thesis by
AA,
FUNCT_1: 2;
end;
theorem ::
MSAFREE5:83
aaa1: (
the_sort_of t1)
= s implies ((t,
[x, s])
<- t1)
in (the
Sorts of (
Free (S,X))
. (
the_sort_of t))
proof
assume
A: (
the_sort_of t1)
= s;
defpred
P[
Element of (
Free (S,X))] means (($1,
[x, s])
<- t1)
in (the
Sorts of (
Free (S,X))
. (
the_sort_of $1));
A0: for s1 holds for y be
Element of (X
. s1) holds
P[(y
-term )]
proof
let s1;
let y be
Element of (X
. s1);
per cases by
XTUPLE_0: 1;
suppose s1
= s & y
= x;
then (((y
-term ),
[x, s])
<- t1)
= t1 & (
the_sort_of (y
-term ))
= s by
SORT;
hence (((y
-term ),
[x, s])
<- t1)
in (the
Sorts of (
Free (S,X))
. (
the_sort_of (y
-term ))) by
A,
SORT;
end;
suppose
[y, s1]
<>
[x, s];
then (((y
-term ),
[x, s])
<- t1)
= (y
-term ) & (
the_sort_of (y
-term ))
= s1 by
SORT,
ThL7;
hence (((y
-term ),
[x, s])
<- t1)
in (the
Sorts of (
Free (S,X))
. (
the_sort_of (y
-term )));
end;
end;
A1: for o holds for p st for t2 st t2
in (
rng p) holds
P[t2] holds
P[(o
-term p)]
proof
let o;
let p;
assume
A3: for t2 st t2
in (
rng p) holds
P[t2];
per cases ;
suppose p
=
{} ;
then
A2: (o
-term p)
= (
root-tree
[o, the
carrier of S]) by
TREES_4: 20;
s
in the
carrier of S;
then s
<> the
carrier of S;
then
[x, s]
<>
[o, the
carrier of S] by
XTUPLE_0: 1;
then (((o
-term p),
[x, s])
<- t1)
= (o
-term p) by
A2,
ThL7;
hence thesis by
SORT;
end;
suppose
A2: p
<>
{} ;
deffunc
F(
Nat) = (((p
/. $1),
[x, s])
<- t1);
consider q be
FinSequence such that
A4: (
len q)
= (
len p) & for i st i
in (
dom q) holds (q
. i)
=
F(i) from
FINSEQ_1:sch 2;
A5: (
dom q)
= (
dom p)
<>
{} by
A2,
A4,
FINSEQ_3: 29;
A6: p is non
empty & q is non
empty by
A2,
A4;
A8: (
dom p)
= (
dom (
the_arity_of o)) by
MSUALG_6: 2;
then
A9: (
len q)
= (
len (
the_arity_of o)) by
A4,
FINSEQ_3: 29;
now
let i;
assume
B1: i
in (
dom q);
then
B2: (p
/. i)
= (p
. i) by
A5,
PARTFUN1:def 6;
then (p
/. i)
in (
rng p) by
B1,
A5,
FUNCT_1:def 3;
then
B3:
P[(p
/. i)] & (q
. i)
=
F(i) by
A3,
A4,
B1;
(p
. i)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
B1,
A5,
A8,
MSUALG_6: 2;
hence (q
. i)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
B3,
B2,
SORT;
end;
then
reconsider q as
Element of (
Args (o,(
Free (S,X)))) by
A9,
MSAFREE2: 5;
now
let i, d1;
assume i
in (
dom p) & d1
= (p
. i);
then (q
. i)
=
F(i) & (p
/. i)
= d1 by
A4,
A5,
PARTFUN1:def 6;
hence (q
. i)
= ((d1,
[x, s])
<- t1);
end;
then
A7: (((o
-term p),
[x, s])
<- t1)
= (o
-term q) by
A6,
ThL8,
A4,
FINSEQ_3: 29;
(
the_sort_of (o
-term p))
= (
the_result_sort_of o)
= (
the_sort_of (o
-term q)) by
Th8;
hence thesis by
A7;
end;
end;
thus
P[t] from
TermInd(
A0,
A1);
end;
definition
let S, X, s, x, C, t;
::
MSAFREE5:def28
func C
-sub (t) ->
Element of (the
Sorts of (
Free (S,X))
. (
the_sort_of C)) equals
:
SUB: ((C,
[x, s])
<- t);
coherence
proof
defpred
P[
Element of (
Free (S,X))] means (($1,
[x, s])
<- t) is
Element of (the
Sorts of (
Free (S,X))
. (
the_sort_of $1));
(((x
-term ),
[x, s])
<- t)
= t & (
the_sort_of (x
-term ))
= s by
SORT;
then
A0:
P[(x
-term )] by
A,
SORT;
A1: for o holds for p st p is x
-context_including holds
P[(x
-context_in p)] implies for C be
context of x st C
= (o
-term p) holds
P[C]
proof
let o;
let p;
assume that
A2: p is x
-context_including and
A3:
P[(x
-context_in p)];
deffunc
F(
Nat) = (((p
/. $1),
[x, s])
<- t);
consider q be
FinSequence such that
A4: (
len q)
= (
len p) & for i st i
in (
dom q) holds (q
. i)
=
F(i) from
FINSEQ_1:sch 2;
A5: (
dom q)
= (
dom p)
<>
{} by
A2,
A4,
FINSEQ_3: 29;
A6: p is non
empty & q is non
empty by
A2,
A4;
A8: (
dom p)
= (
dom (
the_arity_of o)) by
MSUALG_6: 2;
then
A9: (
len q)
= (
len (
the_arity_of o)) by
A4,
FINSEQ_3: 29;
now
let i;
assume
B1: i
in (
dom q);
then
B2: (p
/. i)
= (p
. i) by
A5,
PARTFUN1:def 6;
per cases ;
suppose (x
-context_pos_in p)
= i;
then
B3: (x
-context_in p)
= (p
. i) & (q
. i)
=
F(i) by
B1,
A4,
A2,
Th71;
(p
. i)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
B1,
A5,
A8,
MSUALG_6: 2;
then (
the_sort_of (x
-context_in p))
= ((
the_arity_of o)
/. i) by
B3,
SORT;
hence (q
. i)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
B2,
B3,
A3;
end;
suppose (x
-context_pos_in p)
<> i;
then (q
. i)
=
F(i)
= (p
. i) by
A4,
B1,
B2,
A2,
A5,
Th72,
Th23;
hence (q
. i)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
B1,
A5,
A8,
MSUALG_6: 2;
end;
end;
then
reconsider q as
Element of (
Args (o,(
Free (S,X)))) by
A9,
MSAFREE2: 5;
now
let i, d1;
assume i
in (
dom p) & d1
= (p
. i);
then (q
. i)
=
F(i) & (p
/. i)
= d1 by
A4,
A5,
PARTFUN1:def 6;
hence (q
. i)
= ((d1,
[x, s])
<- t);
end;
then (((o
-term p),
[x, s])
<- t)
= (o
-term q) by
A6,
ThL8,
A4,
FINSEQ_3: 29;
hence thesis by
Th8;
end;
thus
P[C] from
ContextInd(
A0,
A1);
end;
end
theorem ::
MSAFREE5:84
Th41: (
the_sort_of t)
= s implies ((x
-term )
-sub t)
= t
proof
assume (
the_sort_of t)
= s;
hence ((x
-term )
-sub t)
= (((x
-term ),
[x, s])
<- t) by
SUB
.= t;
end;
registration
let S, X, s, x, C;
reduce (C
-sub (x
-term )) to C;
reducibility
proof
defpred
P[
Element of (
Free (S,X))] means (($1,
[x, s])
<- (x
-term ))
= $1;
A1:
P[(x
-term )];
A2: for o holds for p st p is x
-context_including holds
P[(x
-context_in p)] implies for C be
context of x st C
= (o
-term p) holds
P[C]
proof
let o;
let p;
assume that
A2: p is x
-context_including and
A3:
P[(x
-context_in p)];
set t = (x
-term );
deffunc
F(
Nat) = (((p
/. $1),
[x, s])
<- t);
now
let i, d1;
assume
B1: i
in (
dom p) & d1
= (p
. i);
then
B2: (p
/. i)
= d1 by
PARTFUN1:def 6;
per cases ;
suppose (x
-context_pos_in p)
= i;
then (x
-context_in p)
= (p
. i) by
A2,
Th71;
hence (p
. i)
= ((d1,
[x, s])
<- t) by
A3,
B1;
end;
suppose (x
-context_pos_in p)
<> i;
hence (p
. i)
= ((d1,
[x, s])
<- t) by
B1,
B2,
A2,
Th72,
Th23;
end;
end;
hence thesis by
A2,
ThL8;
end;
AA:
P[C] from
ContextInd(
A1,
A2);
(
the_sort_of (x
-term ))
= s by
SORT;
hence thesis by
AA,
SUB;
end;
end
theorem ::
MSAFREE5:85
Th42: for w be
Element of (
Args (o,(
Free (S,Z)))) holds for t be
Element of (
Free (S,Z)) st w is z
-context_including & (
the_sort_of t)
= ((
the_arity_of o)
. (z
-context_pos_in w)) holds (w
+* ((z
-context_pos_in w),t))
in (
Args (o,(
Free (S,Z))))
proof
let w be
Element of (
Args (o,(
Free (S,Z))));
let t be
Element of (
Free (S,Z));
assume
A1: w is z
-context_including & (
the_sort_of t)
= ((
the_arity_of o)
. (z
-context_pos_in w));
A2: (
dom (w
+* ((z
-context_pos_in w),t)))
= (
dom w)
= (
dom (
the_arity_of o)) by
FUNCT_7: 30,
MSUALG_6: 2;
then
A3: (
len (w
+* ((z
-context_pos_in w),t)))
= (
len (
the_arity_of o)) by
FINSEQ_3: 29;
now
let i;
assume
A4: i
in (
dom w);
per cases ;
suppose i
= (z
-context_pos_in w);
then ((w
+* ((z
-context_pos_in w),t))
. i)
= t & (
the_sort_of t)
= ((
the_arity_of o)
/. i) by
A1,
A2,
A4,
PARTFUN1:def 6,
FUNCT_7: 31;
hence ((w
+* ((z
-context_pos_in w),t))
. i)
in (the
Sorts of (
Free (S,Z))
. ((
the_arity_of o)
/. i)) by
SORT;
end;
suppose i
<> (z
-context_pos_in w);
then ((w
+* ((z
-context_pos_in w),t))
. i)
= (w
. i) by
FUNCT_7: 32;
hence ((w
+* ((z
-context_pos_in w),t))
. i)
in (the
Sorts of (
Free (S,Z))
. ((
the_arity_of o)
/. i)) by
A2,
A4,
MSUALG_6: 2;
end;
end;
hence (w
+* ((z
-context_pos_in w),t))
in (
Args (o,(
Free (S,Z)))) by
A2,
A3,
MSAFREE2: 5;
end;
theorem ::
MSAFREE5:86
Th94: (
the_sort_of C9)
= s1 implies for z1 be z
-different
Element of (Z
. s1) holds for C1 be z
-omitting
context of z1 holds (C1
-sub C9) is
context of z
proof
assume
A1: (
the_sort_of C9)
= s1;
let z1 be z
-different
Element of (Z
. s1);
defpred
P[
Element of (
Free (S,Z))] means $1 is z
-omitting implies (($1,
[z1, s1])
<- C9) is
context of z;
A2:
P[(z1
-term )];
A3: for o holds for k st k is z1
-context_including holds
P[(z1
-context_in k)] implies for C be
context of z1 st C
= (o
-term k) holds
P[C]
proof
let o;
let k;
set p = k;
assume that
A2: k is z1
-context_including and
A3:
P[(z1
-context_in k)];
let C be
context of z1;
assume
AA: C
= (o
-term k);
assume
c: C is z
-omitting;
set t = C9;
deffunc
F(
Nat) = (((p
/. $1),
[z1, s1])
<- t);
consider q be
FinSequence such that
A4: (
len q)
= (
len p) & for i st i
in (
dom q) holds (q
. i)
=
F(i) from
FINSEQ_1:sch 2;
A5: (
dom q)
= (
dom p)
<>
{} by
A2,
A4,
FINSEQ_3: 29;
then
A6: p is non
empty & q is non
empty;
A8: (
dom p)
= (
dom (
the_arity_of o)) by
MSUALG_6: 2;
then
A9: (
len q)
= (
len (
the_arity_of o)) by
A5,
FINSEQ_3: 29;
now
let i;
assume
B1: i
in (
dom q);
then
B2: (p
/. i)
= (p
. i) by
A5,
PARTFUN1:def 6;
per cases ;
suppose (z1
-context_pos_in p)
= i;
then
B3: (z1
-context_in p)
= (p
. i) & (q
. i)
=
F(i) & (p
/. i) is z
-omitting by
c,
AA,
A5,
A4,
A2,
Th71,
Th54;
(p
. i)
in (the
Sorts of (
Free (S,Z))
. ((
the_arity_of o)
/. i)) by
B1,
A5,
A8,
MSUALG_6: 2;
then (
the_sort_of (z1
-context_in p))
= ((
the_arity_of o)
/. i) by
B3,
SORT;
hence (q
. i)
in (the
Sorts of (
Free (S,Z))
. ((
the_arity_of o)
/. i)) by
A1,
B2,
B3,
aaa1;
end;
suppose (z1
-context_pos_in p)
<> i;
then (p
/. i) is z1
-omitting by
A2,
A5,
B1,
Th72;
then (q
. i)
=
F(i)
= (p
. i) by
A4,
B1,
B2,
Th23;
hence (q
. i)
in (the
Sorts of (
Free (S,Z))
. ((
the_arity_of o)
/. i)) by
B1,
A5,
A8,
MSUALG_6: 2;
end;
end;
then
reconsider q as
Element of (
Args (o,(
Free (S,Z)))) by
A9,
MSAFREE2: 5;
now
let i, d1;
assume i
in (
dom p) & d1
= (p
. i);
then (q
. i)
=
F(i) & (p
/. i)
= d1 by
A4,
A5,
PARTFUN1:def 6;
hence (q
. i)
= ((d1,
[z1, s1])
<- t);
end;
then
A7: (((o
-term p),
[z1, s1])
<- t)
= (
[o, the
carrier of S]
-tree q) by
A5,
A6,
ThL8
.= (o
-term q);
q is z
-context_including
proof
take i = (z1
-context_pos_in p);
thus i
in (
dom q) by
A2,
A5,
Th71;
then
B2: (p
/. i)
= (p
. i) by
A5,
PARTFUN1:def 6;
(z1
-context_in p)
= (p
. i) & (q
. i)
=
F(i) & (p
/. i) is z
-omitting by
c,
AA,
A5,
A4,
A2,
Th71,
Th54;
hence (q
. i) is
context of z by
B2,
A3;
let j;
let q1 be
Element of (
Free (S,Z));
assume
B4: j
in (
dom q) & j
<> i & q1
= (q
. j);
then
B5: (p
/. j)
= (p
. j) by
A5,
PARTFUN1:def 6;
(p
/. j) is z1
-omitting by
A2,
B4,
A5,
Th72;
then q1
=
F(j)
= (p
. j) by
B4,
A4,
B5,
Th23;
hence q1 is z
-omitting by
c,
B5,
B4,
A5,
AA,
Th54;
end;
hence thesis by
AA,
A7,
Th53;
end;
let C1 be z
-omitting
context of z1;
P[C1] from
ContextInd(
A2,
A3);
hence thesis by
A1,
SUB;
end;
theorem ::
MSAFREE5:87
Th43: for w,p be
Element of (
Args (o,(
Free (S,Z)))) holds for t be
Element of (
Free (S,Z)) st w is z
-context_including & C9
= (o
-term w) & p
= (w
+* ((z
-context_pos_in w),((z
-context_in w)
-sub t))) & (
the_sort_of t)
= s holds (C9
-sub t)
= (o
-term p)
proof
let w,p be
Element of (
Args (o,(
Free (S,Z))));
let t be
Element of (
Free (S,Z));
assume that
A1: w is z
-context_including and
A2: C9
= (o
-term w) and
A3: p
= (w
+* ((z
-context_pos_in w),((z
-context_in w)
-sub t))) and
A4: (
the_sort_of t)
= s;
A5: (
dom p)
= (
dom (
the_arity_of o))
= (
dom w)
<>
{} by
A1,
MSUALG_3: 6;
then
reconsider v = w, q = p as non
empty
DTree-yielding
FinSequence;
now
let i, d1;
assume
A6: i
in (
dom v) & d1
= (v
. i);
A7: ((z
-context_in w)
-sub t)
= (((z
-context_in w),
[z, s])
<- t) by
A4,
SUB;
per cases ;
suppose
A8: i
= (z
-context_pos_in w);
then d1
= (z
-context_in w) by
A1,
A6,
Th71;
hence (q
. i)
= ((d1,
[z, s])
<- t) by
A3,
A6,
A7,
A8,
FUNCT_7: 31;
end;
suppose
A8: i
<> (z
-context_pos_in w);
then (w
/. i) is z
-omitting & (w
/. i)
= d1 by
A1,
A6,
Th72,
PARTFUN1:def 6;
then ((d1,
[z, s])
<- t)
= d1 by
Th23;
hence (q
. i)
= ((d1,
[z, s])
<- t) by
A3,
A6,
A8,
FUNCT_7: 32;
end;
end;
then (((
[o, the
carrier of S]
-tree v),
[z, s])
<- t)
= (
[o, the
carrier of S]
-tree q) by
A5,
ThL8;
hence (C9
-sub t)
= (o
-term p) by
A2,
A4,
SUB;
end;
theorem ::
MSAFREE5:88
(
the_sort_of (C
-sub t))
= (
the_sort_of C) by
SORT;
theorem ::
MSAFREE5:89
Lem13: (t
. a)
=
[x, s] implies a
in (
Leaves (
dom t))
proof
assume
Z0: (t
. a)
=
[x, s];
then
reconsider q = a as
Element of (
dom t) by
FUNCT_1:def 2;
reconsider v = (t
| q) as
Element of (
Free (S,X)) by
MSAFREE4: 44;
{}
in ((
dom t)
| q) by
TREES_1: 22;
then
A2: (v
.
{} )
= (t
. (q
^ (
<*>
NAT ))) by
TREES_2:def 10;
per cases by
Th16;
suppose ex o, p st v
= (o
-term p);
then
consider o, p such that
A1: v
= (o
-term p);
[o, the
carrier of S]
= (v
.
{} )
=
[x, s] by
Z0,
A1,
A2,
TREES_4:def 4;
then s
in the
carrier of S
= s by
XTUPLE_0: 1;
hence a
in (
Leaves (
dom t));
end;
suppose ex s1, x11 st v
= (x11
-term );
then
consider s1, x11 such that
A1: v
= (x11
-term );
reconsider r =
<*
0 *> as
FinSequence of
NAT ;
now
assume (q
^
<*
0 *>)
in (
dom t);
then r
in ((
dom t)
| q)
= (
dom v) by
TREES_1:def 6,
TREES_2:def 10;
then
<*
0 *>
in
{
{} } by
A1,
TREES_1: 29;
hence contradiction;
end;
hence a
in (
Leaves (
dom t)) by
TREES_1: 54;
end;
end;
theorem ::
MSAFREE5:90
Th45A: for s0 be
SortSymbol of S, x0 be
Element of (X
. s0) holds (
the_sort_of t)
= s & C is x0
-omitting & t is x0
-omitting implies (C
-sub t) is x0
-omitting
proof
let s0 be
SortSymbol of S;
let x0 be
Element of (X
. s0);
assume (
the_sort_of t)
= s;
then
A1: (C
-sub t)
= ((C,
[x, s])
<- t) by
SUB;
assume
Z1: (
Coim (C,
[x0, s0]))
=
{} ;
assume
Z2: (
Coim (t,
[x0, s0]))
=
{} ;
assume (
Coim ((C
-sub t),
[x0, s0]))
<>
{} ;
then
consider a such that
A2: a
in (
Coim ((C
-sub t),
[x0, s0])) by
XBOOLE_0: 7;
A3: a
in (
dom (C
-sub t)) & ((C
-sub t)
. a)
in
{
[x0, s0]} by
A2,
FUNCT_1:def 7;
reconsider a as
Element of (
dom (C
-sub t)) by
A2,
FUNCT_1:def 7;
A5:
now
given q be
Node of C, r be
Node of t such that
B1: q
in (
Leaves (
dom C)) & (C
. q)
=
[x, s] & a
= (q
^ r);
((C
-sub t)
. a)
= (t
. r) by
A1,
B1,
TREES_4:def 7;
hence contradiction by
Z2,
A3,
FUNCT_1:def 7;
end;
per cases by
A1,
TREES_4:def 7;
suppose
B3: a
in (
dom C) & (C
. a)
<>
[x, s];
then ((C
-sub t)
. a)
= (C
. a) by
A1,
TREES_4:def 7;
hence contradiction by
Z1,
A3,
B3,
FUNCT_1:def 7;
end;
suppose
B2: a
in (
dom C) & (C
. a)
=
[x, s];
then
reconsider q = a as
Node of C;
reconsider r =
{} as
Node of t by
TREES_1: 22;
(q
^ r)
= a & q
in (
Leaves (
dom C)) by
B2,
Lem13;
hence contradiction by
A5,
B2;
end;
suppose ex q be
Node of C, r be
Node of t st q
in (
Leaves (
dom C)) & (C
. q)
=
[x, s] & a
= (q
^ r);
hence contradiction by
A5;
end;
end;
theorem ::
MSAFREE5:91
Th46: p is x
-context_including implies (
the_sort_of (x
-context_in p))
= ((
the_arity_of o)
. (x
-context_pos_in p))
proof
assume p is x
-context_including;
then (x
-context_pos_in p)
in (
dom p)
= (
dom (
the_arity_of o)) & (x
-context_in p)
= (p
. (x
-context_pos_in p)) by
Th71,
MSUALG_3: 6;
then ((
the_arity_of o)
/. (x
-context_pos_in p))
= ((
the_arity_of o)
. (x
-context_pos_in p)) & (x
-context_in p)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. (x
-context_pos_in p))) by
PARTFUN1:def 6,
MSUALG_6: 2;
hence (
the_sort_of (x
-context_in p))
= ((
the_arity_of o)
. (x
-context_pos_in p)) by
SORT;
end;
theorem ::
MSAFREE5:92
Th47: for A be
disjoint_valued
non-empty
MSAlgebra over S holds for B be
non-empty
MSAlgebra over S holds for o be
OperSymbol of S, p,q be
Element of (
Args (o,A)) holds for h be
ManySortedFunction of A, B, a be
Element of A holds for i st i
in (
dom p) & q
= (p
+* (i,a)) holds (h
# q)
= ((h
# p)
+* (i,(h
. a)))
proof
let A be
disjoint_valued
non-empty
MSAlgebra over S;
let B be
non-empty
MSAlgebra over S;
let o be
OperSymbol of S;
let p,q be
Element of (
Args (o,A));
let h be
ManySortedFunction of A, B;
let a be
Element of A;
let i;
assume
Z0: i
in (
dom p);
assume
Z1: q
= (p
+* (i,a));
A1: (
dom (h
# q))
= (
dom (
the_arity_of o))
= (
dom (h
# p))
= (
dom ((h
# p)
+* (i,(h
. a)))) & (
dom q)
= (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_3: 6,
FUNCT_7: 30;
now
let j be
object;
assume
A2: j
in (
dom (h
# q));
then
reconsider k = j as
Nat;
A3: ((h
# q)
. k)
= ((h
. ((
the_arity_of o)
/. k))
. (q
. k)) & ((h
# p)
. k)
= ((h
. ((
the_arity_of o)
/. k))
. (p
. k)) by
A1,
A2,
MSUALG_3:def 6;
(q
. i)
= a by
Z0,
Z1,
FUNCT_7: 31;
then a
in (the
Sorts of A
. ((
the_arity_of o)
/. i)) by
Z0,
A1,
MSUALG_6: 2;
then (
the_sort_of a)
= ((
the_arity_of o)
/. i) by
SORT;
then
A5: ((h
. ((
the_arity_of o)
/. i))
. a)
= (h
. a) by
ABBR;
per cases ;
suppose
A4: j
= i;
hence ((h
# q)
. j)
= ((h
. ((
the_arity_of o)
/. k))
. a) by
Z1,
A1,
A2,
A3,
FUNCT_7: 31
.= (((h
# p)
+* (i,(h
. a)))
. j) by
A4,
A5,
A1,
A2,
FUNCT_7: 31;
end;
suppose
A6: j
<> i;
hence ((h
# q)
. j)
= ((h
. ((
the_arity_of o)
/. k))
. (p
. k)) by
Z1,
A3,
FUNCT_7: 32
.= (((h
# p)
+* (i,(h
. a)))
. j) by
A3,
A6,
FUNCT_7: 32;
end;
end;
hence (h
# q)
= ((h
# p)
+* (i,(h
. a))) by
A1,
FUNCT_1: 2;
end;
theorem ::
MSAFREE5:93
for t be
Element of (
Free (S,Z)) holds (
the_sort_of t)
= s implies ((
canonical_homomorphism R)
. (C9
-sub t))
= ((
canonical_homomorphism R)
. (C9
-sub (
@ ((
canonical_homomorphism R)
. t))))
proof
let t be
Element of (
Free (S,Z));
assume
A1: (
the_sort_of t)
= s;
set H = (
canonical_homomorphism R);
defpred
P[
context of z] means (H
. ($1
-sub t))
= (H
. ($1
-sub (
@ (H
. t))));
B1: (
the_sort_of (
@ (H
. t)))
= (
the_sort_of (H
. t)) by
Lem00
.= (
the_sort_of t) by
Lem0;
B3: (
the_sort_of ((z
-term )
-sub (
@ (H
. t))))
= (
the_sort_of (z
-term )) by
SORT
.= s by
SORT;
A2:
P[(z
-term )]
proof
B5: (
dom (H
** H))
= ((
dom H)
/\ (
dom H))
= (
dom H)
= the
carrier of S by
PARTFUN1:def 2,
PBOOLE:def 19;
B6: t
in (the
Sorts of (
Free (S,Z))
. s) & (the
Sorts of R
. s)
<>
{} & (H
. s) is
Function of (the
Sorts of (
Free (S,Z))
. s), (the
Sorts of R
. s) by
A1,
SORT;
B4: ((z
-term )
-sub t)
= t & ((z
-term )
-sub (
@ (H
. t)))
= (H
. t)
= ((H
. s)
. t) by
A1,
B1,
Th41,
ABBR;
hence (H
. ((z
-term )
-sub t))
= (((H
** H)
. s)
. t) by
MSAFREE4: 48
.= (((H
. s)
* (H
. s))
. t) by
B5,
PBOOLE:def 19
.= ((H
. s)
. ((z
-term )
-sub (
@ (H
. t)))) by
B4,
B6,
FUNCT_2: 15
.= (H
. ((z
-term )
-sub (
@ (H
. t)))) by
B3,
ABBR;
end;
A3:
now
let o be
OperSymbol of S, p be
Element of (
Args (o,(
Free (S,Z))));
assume
A4: p is z
-context_including;
assume
A5:
P[(z
-context_in p)];
let C be
context of z such that
A6: C
= (o
-term p);
C2: (
the_sort_of ((z
-context_in p)
-sub t))
= (
the_sort_of (z
-context_in p))
= ((
the_arity_of o)
. (z
-context_pos_in p)) by
A4,
Th46,
SORT;
then
reconsider w = (p
+* ((z
-context_pos_in p),((z
-context_in p)
-sub t))) as
Element of (
Args (o,(
Free (S,Z)))) by
A4,
Th42;
(
Args (o,R))
c= (
Args (o,(
Free (S,Z)))) by
MSAFREE4: 41;
then
reconsider q = (H
# w), r = (H
# p) as
Element of (
Args (o,(
Free (S,Z))));
C1: (
the_sort_of (
@ (H
. t)))
= (
the_sort_of (H
. t)) by
Lem00
.= s by
A1,
Lem0;
C3: (
the_sort_of ((z
-context_in p)
-sub (
@ (H
. t))))
= (
the_sort_of (z
-context_in p)) by
SORT;
reconsider m = (p
+* ((z
-context_pos_in p),((z
-context_in p)
-sub (
@ (H
. t))))) as
Element of (
Args (o,(
Free (S,Z)))) by
A4,
C2,
C3,
Th42;
A9: q
= (r
+* ((z
-context_pos_in p),(H
. ((z
-context_in p)
-sub (
@ (H
. t)))))) by
A5,
A4,
Th71,
Th47
.= (H
# m) by
A4,
Th71,
Th47;
(C
-sub t)
= (o
-term w) by
A1,
A4,
A6,
Th43;
then (H
. (C
-sub t))
= ((H
. (
the_sort_of (o
-term w)))
. (o
-term w)) by
ABBR
.= ((H
. (
the_result_sort_of o))
. (o
-term w)) by
Th8
.= ((H
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,Z))))
. w)) by
MSAFREE4: 13
.= ((
Den (o,R))
. (H
# w)) by
MSAFREE4:def 10,
MSUALG_3:def 7
.= ((H
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,Z))))
. m)) by
A9,
MSAFREE4:def 10,
MSUALG_3:def 7
.= ((H
. (
the_result_sort_of o))
. (o
-term m)) by
MSAFREE4: 13
.= ((H
. (
the_sort_of (o
-term m)))
. (o
-term m)) by
Th8
.= (H
. (o
-term m)) by
ABBR
.= (H
. (C
-sub (
@ (H
. t)))) by
C1,
A4,
A6,
Th43;
hence
P[C];
end;
thus
P[C9] from
ContextInd(
A2,
A3);
end;
definition
let S, X, T, s, x;
let h be
ManySortedFunction of (
Free (S,X)), T;
::
MSAFREE5:def29
attr h is x
-constant means
:
CNST: (h
. (x
-term ))
= (x
-term ) & for s1 holds for x1 be
Element of (X
. s1) st x1
<> x or s
<> s1 holds (h
. (x1
-term )) is x
-omitting;
end
theorem ::
MSAFREE5:94
Th51: (
canonical_homomorphism T) is x
-constant
proof
set H = (
canonical_homomorphism T);
thus (H
. (x
-term ))
= (x
-term );
let s1;
let x1 be
Element of (X
. s1);
assume x1
<> x or s
<> s1;
then (x1
-term ) is x
-omitting by
ThC1;
hence thesis;
end;
registration
let S, X, T, s, x;
cluster x
-constant for
Homomorphism of (
Free (S,X)), T;
existence
proof
take (
canonical_homomorphism T);
thus thesis by
Th51;
end;
end
reserve h1 for x
-constant
Homomorphism of (
Free (S,X)), T,
h2 for y
-constant
Homomorphism of (
Free (S,Y)), Q;
definition
let x,y be
object;
::
MSAFREE5:def30
func x
<-> y ->
Function equals
{
[x, y],
[y, x]};
coherence
proof
set f =
{
[x, y],
[y, x]};
f is
Function-like
proof
let a,b,c be
object;
assume
[a, b]
in f &
[a, c]
in f;
then (
[a, b]
=
[x, y] or
[a, b]
=
[y, x]) & (
[a, c]
=
[x, y] or
[a, c]
=
[y, x]) by
TARSKI:def 2;
then (a
= x & b
= y or a
= y & b
= x) & (a
= x & c
= y or a
= y & c
= x) by
XTUPLE_0: 1;
hence thesis;
end;
hence thesis;
end;
commutativity ;
end
theorem ::
MSAFREE5:95
LemS: (
dom (a
<-> b))
=
{a, b} & ((a
<-> b)
. a)
= b & ((a
<-> b)
. b)
= a & (
rng (a
<-> b))
=
{a, b}
proof
[a, b]
in (a
<-> b) &
[b, a]
in (a
<-> b) by
TARSKI:def 2;
hence thesis by
RELAT_1: 10,
FUNCT_1: 1;
end;
registration
let A be non
empty
set;
let a,b be
Element of A;
cluster (a
<-> b) -> A
-valuedA
-defined;
coherence
proof
A1:
{a, b}
c= A;
hence (
rng (a
<-> b))
c= A by
LemS;
thus (
dom (a
<-> b))
c= A by
A1,
LemS;
end;
end
definition
let A be
set, B be non
empty
set;
let f be
Function of A, B;
let g be A
-definedB
-valued
Function;
:: original:
+*
redefine
func f
+* g ->
Function of A, B ;
coherence
proof
A1: (
dom g)
c= A & (
rng g)
c= B & (
dom f)
= A & (
rng f)
c= B by
RELAT_1:def 19,
FUNCT_2:def 1;
then
A2: (
dom (f
+* g))
= ((
dom f)
\/ (
dom g))
= A by
XBOOLE_1: 12,
FUNCT_4:def 1;
(
rng (f
+* g))
c= ((
rng f)
\/ (
rng g))
c= (B
\/ B) by
A1,
XBOOLE_1: 13,
FUNCT_4: 17;
then (
rng (f
+* g))
c= B;
hence thesis by
A2,
FUNCT_2: 2;
end;
end
definition
let I be non
empty
set;
let A,B be
ManySortedSet of I;
let f be
ManySortedFunction of A, B;
let x be
Element of I;
let g be
Function of (A
. x), (B
. x);
:: original:
+*
redefine
func f
+* (x,g) ->
ManySortedFunction of A, B ;
coherence
proof
A3: (
dom f)
= I by
PARTFUN1:def 2;
reconsider h = (f
+* (x,g)) as
ManySortedSet of I;
h is
ManySortedFunction of A, B
proof
let a be
object;
assume a
in I;
per cases ;
suppose a
= x;
hence (h
. a) is
Function of (A
. a), (B
. a) by
A3,
FUNCT_7: 31;
end;
suppose a
<> x;
then (h
. a)
= (f
. a) by
FUNCT_7: 32;
hence thesis;
end;
end;
hence thesis;
end;
end
definition
let S, X, T;
let s, x1, x2;
::
MSAFREE5:def31
func
Hom (T,x1,x2) ->
Endomorphism of T means
:
HOM: ((it
. s)
. (x1
-term ))
= (x2
-term ) & ((it
. s)
. (x2
-term ))
= (x1
-term ) & for s1 holds for y be
Element of (X
. s1) st s1
<> s or y
<> x1 & y
<> x2 holds ((it
. s1)
. (y
-term ))
= (y
-term );
existence
proof
reconsider y1 = (x1
-term ), y2 = (x2
-term ) as
Element of ((
FreeGen T)
. s) by
Th119;
set f = ((
id (
FreeGen T))
+* (s,(((
id (
FreeGen T))
. s)
+* (y1
<-> y2))));
A8: (
dom (
id (
FreeGen T)))
= the
carrier of S by
PARTFUN1:def 2;
then
A5: (f
. s)
= (((
id (
FreeGen T))
. s)
+* (y1
<-> y2)) by
FUNCT_7: 31;
A6: (
dom (y1
<-> y2))
=
{y1, y2} & y1
in
{y1, y2} & y2
in
{y1, y2} by
LemS,
TARSKI:def 2;
f is
ManySortedFunction of (
FreeGen T), the
Sorts of T & (
FreeGen X)
= (
FreeGen T) by
MSAFREE4: 22;
then
consider h be
ManySortedFunction of T, T such that
A1: h
is_homomorphism (T,T) & (h
|| (
FreeGen T))
= f by
MSAFREE4:def 9;
reconsider h as
Endomorphism of T by
A1,
MSUALG_6:def 2;
take h;
thus ((h
. s)
. (x1
-term ))
= (((h
. s)
| ((
FreeGen T)
. s))
. (x1
-term )) by
Th119,
FUNCT_1: 49
.= (((h
|| (
FreeGen T))
. s)
. (x1
-term )) by
MSAFREE:def 1
.= ((y1
<-> y2)
. y1) by
A1,
A5,
A6,
FUNCT_4: 13
.= (x2
-term ) by
LemS;
thus ((h
. s)
. (x2
-term ))
= (((h
. s)
| ((
FreeGen T)
. s))
. (x2
-term )) by
Th119,
FUNCT_1: 49
.= (((h
|| (
FreeGen T))
. s)
. (x2
-term )) by
MSAFREE:def 1
.= ((y1
<-> y2)
. y2) by
A1,
A5,
A6,
FUNCT_4: 13
.= (x1
-term ) by
LemS;
let s1;
let y be
Element of (X
. s1);
B5: (y
-term )
in ((
FreeGen T)
. s1) by
Th119;
B6: ((h
. s1)
. (y
-term ))
= (((h
. s1)
| ((
FreeGen T)
. s1))
. (y
-term )) by
Th119,
FUNCT_1: 49
.= (((h
|| (
FreeGen T))
. s1)
. (y
-term )) by
MSAFREE:def 1;
assume s1
<> s or y
<> x1 & y
<> x2;
per cases ;
suppose s1
<> s;
hence ((h
. s1)
. (y
-term ))
= (((
id (
FreeGen T))
. s1)
. (y
-term )) by
A1,
B6,
FUNCT_7: 32
.= ((
id ((
FreeGen T)
. s1))
. (y
-term )) by
MSUALG_3:def 1
.= (y
-term ) by
B5,
FUNCT_1: 17;
end;
suppose
A7: s1
= s & y
<> x1 & y
<> x2;
then
[y, s1]
<>
[x1, s] &
[y, s1]
<>
[x2, s] by
XTUPLE_0: 1;
then (y
-term )
<> (x1
-term ) & (y
-term )
<> (x2
-term ) by
TREES_4: 4;
then
A9: (y
-term )
nin
{y1, y2} by
TARSKI:def 2;
thus ((h
. s1)
. (y
-term ))
= ((((
id (
FreeGen T))
. s1)
+* (y1
<-> y2))
. (y
-term )) by
A1,
A8,
B6,
A7,
FUNCT_7: 31
.= (((
id (
FreeGen T))
. s1)
. (y
-term )) by
A6,
A9,
FUNCT_4: 11
.= ((
id ((
FreeGen T)
. s1))
. (y
-term )) by
MSUALG_3:def 1
.= (y
-term ) by
B5,
FUNCT_1: 17;
end;
end;
uniqueness
proof
let h1,h2 be
Endomorphism of T such that
A1: ((h1
. s)
. (x1
-term ))
= (x2
-term ) & ((h1
. s)
. (x2
-term ))
= (x1
-term ) & for s1 holds for y be
Element of (X
. s1) st s1
<> s or y
<> x1 & y
<> x2 holds ((h1
. s1)
. (y
-term ))
= (y
-term ) and
A2: ((h2
. s)
. (x1
-term ))
= (x2
-term ) & ((h2
. s)
. (x2
-term ))
= (x1
-term ) & for s1 holds for y be
Element of (X
. s1) st s1
<> s or y
<> x1 & y
<> x2 holds ((h2
. s1)
. (y
-term ))
= (y
-term );
set s0 = s;
A3: h1
is_homomorphism (T,T) & h2
is_homomorphism (T,T) by
MSUALG_6:def 2;
(h1
|| (
FreeGen T))
= (h2
|| (
FreeGen T))
proof
let s;
thus ((h1
|| (
FreeGen T))
. s)
= ((h2
|| (
FreeGen T))
. s)
proof
A6: ((h1
|| (
FreeGen T))
. s)
= ((h1
. s)
| ((
FreeGen T)
. s)) & ((h2
|| (
FreeGen T))
. s)
= ((h2
. s)
| ((
FreeGen T)
. s)) by
MSAFREE:def 1;
let t be
Element of ((
FreeGen T)
. s);
t
in ((
FreeGen T)
. s);
then t
in (
FreeGen (s,X)) by
MSAFREE:def 16;
then
consider x be
set such that
A5: x
in (X
. s) & t
= (
root-tree
[x, s]) by
MSAFREE:def 15;
reconsider x as
Element of (X
. s) by
A5;
A7: (((h1
. s)
| ((
FreeGen T)
. s))
. t)
= ((h1
. s)
. t) & (((h2
. s)
| ((
FreeGen T)
. s))
. t)
= ((h2
. s)
. t) by
FUNCT_1: 49;
per cases ;
suppose
A9: x
= x1 & s0
= s;
hence (((h1
|| (
FreeGen T))
. s)
. t)
= (x2
-term ) by
A1,
A5,
A7,
MSAFREE:def 1
.= (((h2
|| (
FreeGen T))
. s)
. t) by
A2,
A5,
A7,
A9,
MSAFREE:def 1;
end;
suppose
A9: x
= x2 & s0
= s;
hence (((h1
|| (
FreeGen T))
. s)
. t)
= (x1
-term ) by
A1,
A5,
A7,
MSAFREE:def 1
.= (((h2
|| (
FreeGen T))
. s)
. t) by
A2,
A5,
A7,
A9,
MSAFREE:def 1;
end;
suppose
A9: x
<> x1 & x
<> x2 or s0
<> s;
hence (((h1
|| (
FreeGen T))
. s)
. t)
= (x
-term ) by
A1,
A5,
A6,
A7
.= (((h2
|| (
FreeGen T))
. s)
. t) by
A2,
A5,
A6,
A7,
A9;
end;
end;
end;
hence h1
= h2 by
A3,
EXTENS_1: 19;
end;
end
theorem ::
MSAFREE5:96
Th52: for h be
Endomorphism of T st (for s, x holds ((h
. s)
. (x
-term ))
= (x
-term )) holds h
= (
id the
Sorts of T)
proof
let h be
Endomorphism of T;
A1: (
id the
Sorts of T)
is_homomorphism (T,T) by
MSUALG_3: 9;
A2: h
is_homomorphism (T,T) by
MSUALG_6:def 2;
assume
Z0: for s, x holds ((h
. s)
. (x
-term ))
= (x
-term );
(h
|| (
FreeGen T))
= ((
id the
Sorts of T)
|| (
FreeGen T))
proof
let s be
SortSymbol of S;
thus ((h
|| (
FreeGen T))
. s)
= (((
id the
Sorts of T)
|| (
FreeGen T))
. s)
proof
let t be
Element of ((
FreeGen T)
. s);
A6: ((
FreeGen T)
. s)
c= (the
Sorts of T
. s) by
PBOOLE:def 2,
PBOOLE:def 18;
((
FreeGen T)
. s)
= (
FreeGen (s,X)) by
MSAFREE:def 16;
then
consider x be
set such that
A4: x
in (X
. s) & t
= (
root-tree
[x, s]) by
MSAFREE:def 15;
reconsider x as
Element of (X
. s) by
A4;
thus (((h
|| (
FreeGen T))
. s)
. t)
= (((h
. s)
| ((
FreeGen T)
. s))
. t) by
MSAFREE:def 1
.= ((h
. s)
. (x
-term )) by
A4,
FUNCT_1: 49
.= (x
-term ) by
Z0
.= ((
id (the
Sorts of T
. s))
. t) by
A4,
A6,
FUNCT_1: 18
.= (((
id the
Sorts of T)
. s)
. t) by
MSUALG_3:def 1
.= ((((
id the
Sorts of T)
. s)
| ((
FreeGen T)
. s))
. t) by
FUNCT_1: 49
.= ((((
id the
Sorts of T)
|| (
FreeGen T))
. s)
. t) by
MSAFREE:def 1;
end;
end;
hence h
= (
id the
Sorts of T) by
A1,
A2,
EXTENS_1: 19;
end;
theorem ::
MSAFREE5:97
(
Hom (T,x,x))
= (
id the
Sorts of T)
proof
set h = (
Hom (T,x,x));
for s, x holds ((h
. s)
. (x
-term ))
= (x
-term )
proof
let s1, x11;
per cases ;
suppose s1
= s & x11
= x;
hence ((h
. s1)
. (x11
-term ))
= (x11
-term ) by
HOM;
end;
suppose s1
<> s or x11
<> x;
hence thesis by
HOM;
end;
end;
hence thesis by
Th52;
end;
theorem ::
MSAFREE5:98
Th56: (
Hom (T,x1,x2))
= (
Hom (T,x2,x1))
proof
(((
Hom (T,x2,x1))
. s)
. (x1
-term ))
= (x2
-term ) & (((
Hom (T,x2,x1))
. s)
. (x2
-term ))
= (x1
-term ) & for s1 holds for y be
Element of (X
. s1) st s1
<> s or y
<> x1 & y
<> x2 holds (((
Hom (T,x2,x1))
. s1)
. (y
-term ))
= (y
-term ) by
HOM;
hence thesis by
HOM;
end;
theorem ::
MSAFREE5:99
Th157: ((
Hom (T,x1,x2))
** (
Hom (T,x1,x2)))
= (
id the
Sorts of T)
proof
set h = (
Hom (T,x1,x2));
for s, x holds (((h
** h)
. s)
. (x
-term ))
= (x
-term )
proof
let s1, x11;
A2: ((
FreeGen T)
. s1)
c= (the
Sorts of T
. s1) by
PBOOLE:def 2,
PBOOLE:def 18;
A3: (x11
-term )
in (
FreeGen (s1,X))
= ((
FreeGen T)
. s1) by
MSAFREE:def 15,
MSAFREE:def 16;
A4: (((h
. s1)
* (h
. s1))
. (x11
-term ))
= ((h
. s1)
. ((h
. s1)
. (x11
-term ))) by
A2,
A3,
FUNCT_2: 15;
per cases ;
suppose s1
= s & x11
= x1;
then ((h
. s1)
. (x11
-term ))
= (x2
-term ) & ((h
. s1)
. (x2
-term ))
= (x11
-term ) by
HOM;
hence thesis by
A4,
MSUALG_3: 2;
end;
suppose s1
= s & x11
= x2;
then ((h
. s1)
. (x11
-term ))
= (x1
-term ) & ((h
. s1)
. (x1
-term ))
= (x11
-term ) by
HOM;
hence thesis by
A4,
MSUALG_3: 2;
end;
suppose s1
<> s or x11
<> x1 & x11
<> x2;
then ((h
. s1)
. (x11
-term ))
= (x11
-term ) by
HOM;
hence thesis by
A4,
MSUALG_3: 2;
end;
end;
hence thesis by
Th52;
end;
theorem ::
MSAFREE5:100
Th78: r is x1
-omittingx2
-omitting implies ((
Hom (T,x1,x2))
. r)
= r
proof
set s0 = s;
defpred
P[
Element of T] means $1 is x1
-omittingx2
-omitting implies (((
Hom (T,x1,x2))
. (
the_sort_of $1))
. $1)
= $1;
A1: for s, x, r st r
= (x
-term ) holds
P[r]
proof
let s, x, r;
assume
Z0: r
= (x
-term );
assume r is x1
-omitting & r is x2
-omitting;
then (x
-term ) is x1
-omittingx2
-omitting by
Z0;
then (s0
<> s or x
<> x1) & (s0
<> s or x
<> x2);
then (((
Hom (T,x1,x2))
. s)
. r)
= r & (
the_sort_of (
@ r))
= (
the_sort_of r) by
Z0,
HOM,
Lem00;
hence (((
Hom (T,x1,x2))
. (
the_sort_of r))
. r)
= r by
Z0,
SORT;
end;
A2: for o, p, r st r
= (o
-term p) & for t be
Element of T st t
in (
rng p) holds
P[t] holds
P[r]
proof
let o, p, r;
assume
Z1: r
= (o
-term p);
assume
Z2: for t be
Element of T st t
in (
rng p) holds
P[t];
assume r is x1
-omittingx2
-omitting;
then
Z4: (o
-term p) is x1
-omittingx2
-omitting by
Z1;
A9: (
the_sort_of (
@ r))
= (
the_sort_of r) by
Lem00;
then (
the_sort_of r)
= (
the_result_sort_of o) by
Z1,
Th8;
then (o
-term p)
in (the
Sorts of T
. (
the_result_sort_of o)) by
Z1,
SORT;
then
A5: ((
Den (o,(
Free (S,X))))
. p)
in (the
Sorts of T
. (
the_result_sort_of o)) by
MSAFREE4: 13;
then
reconsider q = p as
Element of (
Args (o,T)) by
MSAFREE4:def 8;
A7: ((
Den (o,T))
. q)
= ((
Den (o,(
Free (S,X))))
. p)
= (o
-term p) by
A5,
MSAFREE4:def 8,
MSAFREE4: 13;
A8: (((
Hom (T,x1,x2))
. (
the_result_sort_of o))
. r)
= ((
Den (o,T))
. ((
Hom (T,x1,x2))
# q)) by
Z1,
A7,
MSUALG_3:def 7,
MSUALG_6:def 2;
q
= ((
Hom (T,x1,x2))
# q)
proof
B1: (
dom q)
= (
dom (
the_arity_of o))
= (
dom ((
Hom (T,x1,x2))
# q)) by
MSUALG_3: 6;
hence (
len q)
= (
len ((
Hom (T,x1,x2))
# q)) by
FINSEQ_3: 29;
let i;
assume
B5: 1
<= i
<= (
len q);
then
B4: i
in (
dom q) by
FINSEQ_3: 25;
then
B2: (p
/. i) is x1
-omittingx2
-omitting & (p
/. i)
= (p
. i)
= (q
/. i) & (p
. i)
in (
rng p) by
Z4,
Th54,
FUNCT_1:def 3,
PARTFUN1:def 6;
then (q
/. i) is x1
-omittingx2
-omitting;
then
B3: (((
Hom (T,x1,x2))
. (
the_sort_of (q
/. i)))
. (q
/. i))
= (q
/. i) by
Z2,
B2;
(q
/. i)
in (the
Sorts of T
. ((
the_arity_of o)
/. i)) by
B1,
B5,
B2,
FINSEQ_3: 25,
MSUALG_6: 2;
then (
the_sort_of (q
/. i))
= ((
the_arity_of o)
/. i) by
SORT;
hence (q
. i)
= (((
Hom (T,x1,x2))
# q)
. i) by
B4,
B2,
B3,
MSUALG_3:def 6;
end;
hence (((
Hom (T,x1,x2))
. (
the_sort_of r))
. r)
= r by
Z1,
A9,
A7,
A8,
Th8;
end;
P[r] from
TermAlgebraInd(
A1,
A2);
hence thesis by
ABBR;
end;
registration
let S, X, T, s, x;
reduce (((
canonical_homomorphism T)
. s)
. (x
-term )) to (x
-term );
reducibility
proof
(x
-term )
in T by
Th24;
then
reconsider t = (x
-term ) as
Element of T;
(
the_sort_of (x
-term ))
= s & (
the_sort_of t)
= (
the_sort_of (
@ t)) by
SORT,
Lem00;
then t
in (the
Sorts of T
. s) by
SORT;
hence thesis by
MSAFREE4: 47;
end;
end
theorem ::
MSAFREE5:101
Th66: ((
canonical_homomorphism T)
** (
Hom ((
Free (S,X)),x,x1)))
= ((
Hom (T,x,x1))
** (
canonical_homomorphism T))
proof
set H = (
canonical_homomorphism T);
set h = (
Hom (T,x,x1));
set g = (
Hom ((
Free (S,X)),x,x1));
defpred
P[
Element of (
Free (S,X))] means ((H
** g)
. $1)
= ((h
** H)
. $1);
A1: for s, x holds
P[(x
-term )]
proof
let s1;
let a be
Element of (X
. s1);
set r = (a
-term );
(
the_sort_of r)
= s1 by
SORT;
then
B1: ((H
** g)
. r)
= (((H
** g)
. s1)
. r) & ((h
** H)
. r)
= (((h
** H)
. s1)
. r) & (H
. r)
= ((H
. s1)
. r) by
ABBR;
B2: ((H
** g)
. s1)
= ((H
. s1)
* (g
. s1)) & ((h
** H)
. s1)
= ((h
. s1)
* (H
. s1)) by
MSUALG_3: 2;
B3: ((H
** g)
. r)
= ((H
. s1)
. ((g
. s1)
. r)) & ((h
** H)
. r)
= ((h
. s1)
. ((H
. s1)
. r)) by
B1,
B2,
FUNCT_2: 15;
per cases ;
suppose
C1: s
= s1 & a
= x;
then ((g
. s1)
. r)
= (x1
-term ) & ((h
. s1)
. r)
= (x1
-term ) by
HOM;
hence thesis by
C1,
B3;
end;
suppose
C2: s
= s1 & a
= x1;
then ((g
. s1)
. r)
= (x
-term ) & ((h
. s1)
. r)
= (x
-term ) by
HOM;
hence thesis by
C2,
B3;
end;
suppose s
<> s1 or a
<> x & a
<> x1;
then ((g
. s1)
. r)
= r & ((h
. s1)
. r)
= r by
HOM;
hence thesis by
B3;
end;
end;
A2: for o be
OperSymbol of S, p be
Element of (
Args (o,(
Free (S,X)))) st for t be
Element of (
Free (S,X)) st t
in (
rng p) holds
P[t] holds
P[(o
-term p)]
proof
let o be
OperSymbol of S;
let p be
Element of (
Args (o,(
Free (S,X))));
assume
Z0: for t be
Element of (
Free (S,X)) st t
in (
rng p) holds
P[t];
A4: ((
Den (o,(
Free (S,X))))
. p)
= (o
-term p) by
MSAFREE4: 13;
set q = (o
-term p);
set r = (
the_sort_of q);
A5: r
= (
the_result_sort_of o) by
Th8;
A10: g
is_homomorphism ((
Free (S,X)),(
Free (S,X))) & h
is_homomorphism (T,T) & H
is_homomorphism ((
Free (S,X)),T) by
MSUALG_6:def 2,
MSAFREE4:def 10;
A8: ((H
** g)
# p)
= ((h
** H)
# p)
proof
A9: (
dom ((H
** g)
# p))
= (
dom (
the_arity_of o))
= (
dom ((h
** H)
# p)) by
MSUALG_3: 6;
hence (
len ((H
** g)
# p))
= (
len ((h
** H)
# p)) by
FINSEQ_3: 29;
let i be
Nat;
assume
C0: 1
<= i
<= (
len ((H
** g)
# p));
then
C1: i
in (
dom ((H
** g)
# p)) by
FINSEQ_3: 25;
C3: (
dom p)
= (
dom (
the_arity_of o)) by
MSUALG_6: 2;
then
C5: (p
/. i)
= (p
. i)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
C0,
A9,
FINSEQ_3: 25,
PARTFUN1:def 6,
MSUALG_6: 2;
then
C4: (
the_sort_of (p
/. i))
= ((
the_arity_of o)
/. i) & (p
. i)
in (
rng p) by
A9,
C1,
C3,
SORT,
FUNCT_1:def 3;
thus (((H
** g)
# p)
. i)
= (((H
** g)
. ((
the_arity_of o)
/. i))
. (p
/. i)) by
C0,
C3,
C5,
A9,
FINSEQ_3: 25,
MSUALG_3:def 6
.= ((H
** g)
. (p
/. i)) by
C4,
ABBR
.= ((h
** H)
. (p
/. i)) by
Z0,
C4,
C5
.= (((h
** H)
. ((
the_arity_of o)
/. i))
. (p
/. i)) by
C4,
ABBR
.= (((h
** H)
# p)
. i) by
C0,
C3,
C5,
A9,
FINSEQ_3: 25,
MSUALG_3:def 6;
end;
thus ((H
** g)
. q)
= (((H
** g)
. r)
. q) by
ABBR
.= ((
Den (o,T))
. ((h
** H)
# p)) by
A8,
A4,
A5,
A10,
MSUALG_3: 10,
MSUALG_3:def 7
.= (((h
** H)
. r)
. q) by
A4,
A5,
A10,
MSUALG_3: 10,
MSUALG_3:def 7
.= ((h
** H)
. q) by
ABBR;
end;
let s;
thus ((H
** g)
. s)
= ((h
** H)
. s)
proof
let t be
Element of (the
Sorts of (
Free (S,X))
. s);
A3:
P[t] from
TermInd(
A1,
A2);
(
the_sort_of t)
= s by
SORT;
then ((H
** g)
. t)
= (((H
** g)
. s)
. t) & ((h
** H)
. t)
= (((h
** H)
. s)
. t) by
ABBR;
hence thesis by
A3;
end;
end;
theorem ::
MSAFREE5:102
for r be
Element of T, s holds (((
Hom (T,x1,x2))
. s)
. r)
= ((((
canonical_homomorphism T)
** (
Hom ((
Free (S,X)),x1,x2)))
. s)
. r)
proof
let r be
Element of T, s;
the
Sorts of T is
MSSubset of (
Free (S,X)) by
MSAFREE4:def 6;
then
A1: (the
Sorts of T
. s)
c= (the
Sorts of (
Free (S,X))
. s) by
PBOOLE:def 2,
PBOOLE:def 18;
((((
canonical_homomorphism T)
** (
Hom ((
Free (S,X)),x1,x2)))
. s)
. r)
= ((((
Hom (T,x1,x2))
** (
canonical_homomorphism T))
. s)
. r)
= ((((
Hom (T,x1,x2))
. s)
* ((
canonical_homomorphism T)
. s))
. r)
= (((
Hom (T,x1,x2))
. s)
. (((
canonical_homomorphism T)
. s)
. r))
= (((
Hom (T,x1,x2))
. s)
. r) by
A1,
Th66,
MSUALG_3: 2,
FUNCT_2: 15,
MSAFREE4: 47;
hence thesis;
end;
theorem ::
MSAFREE5:103
x1
<> x2 & t is x2
-omitting implies ((
Hom ((
Free (S,X)),x1,x2))
. t) is x1
-omitting
proof
assume
A0: x1
<> x2;
set T = (
Free (S,X));
set h = (
Hom (T,x1,x2));
set s0 = s;
defpred
P[
Element of T] means $1 is x2
-omitting implies (h
. $1) is x1
-omitting;
A1: for s, x holds
P[(x
-term )]
proof
let s, x;
set r = (x
-term );
assume
Z1: r is x2
-omitting;
per cases ;
suppose
A2: s0
<> s or x1
<> x & x2
<> x;
then (((
Hom (T,x1,x2))
. s)
. r)
= r & (
the_sort_of (
@ r))
= (
the_sort_of r) by
HOM;
then (((
Hom (T,x1,x2))
. (
the_sort_of r))
. r)
= r & (x
-term ) is x1
-omitting by
A2,
SORT,
ThC1;
hence (h
. r) is x1
-omitting by
ABBR;
end;
suppose s0
= s & x1
= x;
then ((h
. s)
. r)
= (x2
-term ) & (
the_sort_of (
@ r))
= (
the_sort_of r) by
HOM;
then
A4: ((h
. (
the_sort_of r))
. r)
= (x2
-term ) by
SORT;
(x2
-term ) is x1
-omitting by
A0,
ThC1;
hence (h
. r) is x1
-omitting by
A4,
ABBR;
end;
suppose
A3: s0
= s & x2
= x;
thus (h
. r) is x1
-omitting by
Z1,
A3;
end;
end;
A2: for o, p st for t be
Element of T st t
in (
rng p) holds
P[t] holds
P[(o
-term p)]
proof
let o, p;
set r = (o
-term p);
assume
Z2: for t be
Element of T st t
in (
rng p) holds
P[t];
assume
S4: r is x2
-omitting;
A6: (
the_sort_of r)
= (
the_result_sort_of o) by
Th8;
reconsider q = p as
Element of (
Args (o,T));
reconsider m = (h
# q) as
Element of (
Args (o,(
Free (S,X))));
A7: ((
Den (o,T))
. q)
= ((
Den (o,(
Free (S,X))))
. p)
= (o
-term p) by
MSAFREE4: 13;
A9: ((h
. (
the_result_sort_of o))
. r)
= ((
Den (o,(
Free (S,X))))
. m) by
A7,
MSUALG_3:def 7,
MSUALG_6:def 2
.= (o
-term m) by
MSAFREE4: 13;
now
let i;
assume
B1: i
in (
dom m);
B2: (
dom m)
= (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_3: 6;
then
B3: (p
. i)
in (
rng p) & (p
/. i)
= (p
. i)
= (q
/. i) by
B1,
FUNCT_1:def 3,
PARTFUN1:def 6;
(q
/. i)
in (the
Sorts of T
. ((
the_arity_of o)
/. i)) by
B1,
B2,
B3,
MSUALG_6: 2;
then
B5: (
the_sort_of (q
/. i))
= ((
the_arity_of o)
/. i) by
SORT;
(m
/. i)
= (m
. i)
= ((h
. ((
the_arity_of o)
/. i))
. (q
/. i)) by
B1,
PARTFUN1:def 6,
B2,
B3,
MSUALG_3:def 6;
then (h
. (q
/. i))
= (m
/. i) & (p
/. i) is x2
-omitting by
B1,
B2,
S4,
B5,
ABBR,
Th54;
hence (m
/. i) is x1
-omitting by
B3,
Z2;
end;
then (o
-term m) is x1
-omitting by
Th54;
hence (h
. r) is x1
-omitting by
A6,
A9,
ABBR;
end;
thus
P[t] from
TermInd(
A1,
A2);
end;
theorem ::
MSAFREE5:104
Th3A: for A be
finite
Subset of (
Union the
Sorts of (
Free (S,Y))) holds ex y st for v st v
in A holds v is y
-omitting
proof
let A be
finite
Subset of (
Union the
Sorts of (
Free (S,Y)));
set I = (
union { (
vf v) : v
in A });
A0: A is
finite;
deffunc
F(
Element of (
Free (S,Y))) = (
vf $1);
A1: {
F(v) : v
in A } is
finite from
FRAENKEL:sch 21(
A0);
now
let a be
set;
assume a
in {
F(v) : v
in A };
then ex v st a
=
F(v) & v
in A;
hence a is
finite;
end;
then
reconsider I as
finite
set by
A1,
FINSET_1: 7;
set y = the
Element of ((Y
. s)
\ I);
reconsider y as
Element of (Y
. s);
take y;
let v;
assume v
in A;
then
F(v)
in {
F(v1) : v1
in A };
then y
nin I &
F(v)
c= I by
XBOOLE_0:def 5,
ZFMISC_1: 74;
hence v is y
-omitting by
Th92;
end;
definition
let S, X, T;
::
MSAFREE5:def32
attr T is
struct-invariant means for o holds for p be
Element of (
Args (o,T)) st ((
Den (o,T))
. p)
= ((
Den (o,(
Free (S,X))))
. p) holds for s, x1, x2 holds ((
Den (o,T))
. ((
Hom (T,x1,x2))
# p))
= ((
Den (o,(
Free (S,X))))
. ((
Hom (T,x1,x2))
# p));
end
theorem ::
MSAFREE5:105
T is
struct-invariant implies for r be
Element of T, s holds (((
Hom (T,x1,x2))
. s)
. r)
= (((
Hom ((
Free (S,X)),x1,x2))
. s)
. r)
proof
assume
AA: for o holds for p be
Element of (
Args (o,T)) st ((
Den (o,T))
. p)
= ((
Den (o,(
Free (S,X))))
. p) holds for s, x1, x2 holds ((
Den (o,T))
. ((
Hom (T,x1,x2))
# p))
= ((
Den (o,(
Free (S,X))))
. ((
Hom (T,x1,x2))
# p));
set h = (
Hom (T,x1,x2));
set g = (
Hom ((
Free (S,X)),x1,x2));
defpred
P[
Element of T] means ((h
. (
the_sort_of $1))
. $1)
= ((g
. (
the_sort_of $1))
. $1);
A1: for s, x, r st r
= (x
-term ) holds
P[r]
proof
let s1, x11, r;
assume
A2: r
= (x11
-term );
then
A3: (
the_sort_of r)
= (
the_sort_of (
@ r))
= s1 by
SORT,
Lem00;
per cases ;
suppose s
= s1 & x11
= x1;
then ((h
. s1)
. r)
= (x2
-term ) & ((g
. s1)
. r)
= (x2
-term ) by
A2,
HOM;
hence thesis by
A3;
end;
suppose s
= s1 & x11
= x2;
then ((h
. s1)
. r)
= (x1
-term ) & ((g
. s1)
. r)
= (x1
-term ) by
A2,
HOM;
hence thesis by
A3;
end;
suppose s
<> s1 or x11
<> x1 & x11
<> x2;
then ((h
. s1)
. r)
= r & ((g
. s1)
. r)
= r by
A2,
HOM;
hence thesis by
A3;
end;
end;
A4: for o, p, r st r
= (o
-term p) & for t be
Element of T st t
in (
rng p) holds
P[t] holds
P[r]
proof
let o, p, r;
assume
Z0: r
= (o
-term p);
assume
Z1: for t be
Element of T st t
in (
rng p) holds
P[t];
A6: r
= ((
Den (o,(
Free (S,X))))
. p) by
Z0,
MSAFREE4: 13;
A7: r
in (the
Sorts of T
. (
the_sort_of r)) & (
the_sort_of r)
= (
the_sort_of (
@ r))
= (
the_result_sort_of o) by
Z0,
SORT,
Lem00;
then
reconsider q = p as
Element of (
Args (o,T)) by
A6,
MSAFREE4:def 8;
r
= ((
Den (o,T))
. q) by
A6,
A7,
MSAFREE4:def 8;
then
A8: ((
Den (o,T))
. ((
Hom (T,x1,x2))
# q))
= ((
Den (o,(
Free (S,X))))
. ((
Hom (T,x1,x2))
# q)) by
AA,
A6;
(g
# p)
= (h
# q)
proof
B1: (
dom (g
# p))
= (
dom (
the_arity_of o))
= (
dom (h
# q)) by
MSUALG_3: 6;
hence (
len (g
# p))
= (
len (h
# q)) by
FINSEQ_3: 29;
let i be
Nat;
assume
C0: 1
<= i
<= (
len (g
# p));
then
C1: i
in (
dom (g
# p)) by
FINSEQ_3: 25;
C3: (
dom p)
= (
dom (
the_arity_of o)) by
MSUALG_6: 2;
then
C5: (q
/. i)
= (q
. i)
in (the
Sorts of T
. ((
the_arity_of o)
/. i)) by
C0,
B1,
PARTFUN1:def 6,
FINSEQ_3: 25,
MSUALG_6: 2;
then
C4: (
the_sort_of (q
/. i))
= ((
the_arity_of o)
/. i) & (p
. i)
in (
rng p) by
B1,
C1,
C3,
SORT,
FUNCT_1:def 3;
thus ((g
# p)
. i)
= ((g
. ((
the_arity_of o)
/. i))
. (q
/. i)) by
C0,
C3,
C5,
B1,
FINSEQ_3: 25,
MSUALG_3:def 6
.= ((h
. ((
the_arity_of o)
/. i))
. (q
/. i)) by
C4,
C5,
Z1
.= ((h
# q)
. i) by
C0,
C3,
C5,
B1,
FINSEQ_3: 25,
MSUALG_3:def 6;
end;
then ((g
. (
the_result_sort_of o))
. r)
= ((
Den (o,(
Free (S,X))))
. (h
# q)) by
A6,
MSUALG_6:def 2,
MSUALG_3:def 7
.= ((h
. (
the_result_sort_of o))
. ((
Den (o,T))
. q)) by
A8,
MSUALG_6:def 2,
MSUALG_3:def 7
.= ((h
. (
the_result_sort_of o))
. r) by
A6,
A7,
MSAFREE4:def 8;
hence
P[r] by
A7;
end;
let r be
Element of T, s;
A9:
P[r] from
TermAlgebraInd(
A1,
A4);
(
the_sort_of r)
= s by
SORT;
hence thesis by
A9;
end;
theorem ::
MSAFREE5:106
Th79: T is
struct-invariant & x1
<> x2 & r is x2
-omitting implies ((
Hom (T,x1,x2))
. r) is x1
-omitting
proof
assume that
AA: for o holds for p be
Element of (
Args (o,T)) st ((
Den (o,T))
. p)
= ((
Den (o,(
Free (S,X))))
. p) holds for s, x1, x2 holds ((
Den (o,T))
. ((
Hom (T,x1,x2))
# p))
= ((
Den (o,(
Free (S,X))))
. ((
Hom (T,x1,x2))
# p)) and
A0: x1
<> x2;
set h = (
Hom (T,x1,x2));
set s0 = s;
defpred
P[
Element of T] means $1 is x2
-omitting implies (h
. $1) is x1
-omitting;
A1: for s, x, r st r
= (x
-term ) holds
P[r]
proof
let s, x, r;
assume
Z0: r
= (x
-term );
assume
Z1: r is x2
-omitting;
per cases ;
suppose
A2: s0
<> s or x1
<> x & x2
<> x;
then (((
Hom (T,x1,x2))
. s)
. r)
= r & (
the_sort_of (
@ r))
= (
the_sort_of r) by
Z0,
HOM,
Lem00;
then (((
Hom (T,x1,x2))
. (
the_sort_of r))
. r)
= r & (x
-term ) is x1
-omitting by
A2,
Z0,
SORT,
ThC1;
hence (h
. r) is x1
-omitting by
Z0,
ABBR;
end;
suppose s0
= s & x1
= x;
then ((h
. s)
. r)
= (x2
-term ) & (
the_sort_of (
@ r))
= (
the_sort_of r) by
Z0,
HOM,
Lem00;
then
A4: ((h
. (
the_sort_of r))
. r)
= (x2
-term ) by
Z0,
SORT;
(x2
-term ) is x1
-omitting by
A0,
ThC1;
hence (h
. r) is x1
-omitting by
A4,
ABBR;
end;
suppose
A3: s0
= s & x2
= x;
(x2
-term ) is non x2
-omitting;
hence (h
. r) is x1
-omitting by
Z0,
Z1,
A3;
end;
end;
A2: for o, p, r st r
= (o
-term p) & for t be
Element of T st t
in (
rng p) holds
P[t] holds
P[r]
proof
let o, p, r;
assume
Z1: r
= (o
-term p);
assume
Z2: for t be
Element of T st t
in (
rng p) holds
P[t];
assume r is x2
-omitting;
then
S3: (o
-term p) is x2
-omitting by
Z1;
(
the_sort_of (
@ r))
= (
the_sort_of r) by
Lem00;
then
A6: (
the_sort_of r)
= (
the_result_sort_of o) by
Z1,
Th8;
then (o
-term p)
in (the
Sorts of T
. (
the_result_sort_of o)) by
Z1,
SORT;
then
A5: ((
Den (o,(
Free (S,X))))
. p)
in (the
Sorts of T
. (
the_result_sort_of o)) by
MSAFREE4: 13;
then
reconsider q = p as
Element of (
Args (o,T)) by
MSAFREE4:def 8;
(
Args (o,T))
c= (
Args (o,(
Free (S,X)))) by
MSAFREE4: 41;
then
reconsider m = (h
# q) as
Element of (
Args (o,(
Free (S,X))));
A7: ((
Den (o,T))
. q)
= ((
Den (o,(
Free (S,X))))
. p)
= (o
-term p) by
A5,
MSAFREE4:def 8,
MSAFREE4: 13;
A9: ((h
. (
the_result_sort_of o))
. r)
= ((
Den (o,T))
. (h
# q)) by
Z1,
A7,
MSUALG_3:def 7,
MSUALG_6:def 2
.= ((
Den (o,(
Free (S,X))))
. m) by
AA,
A7
.= (o
-term m) by
MSAFREE4: 13;
now
let i;
assume
B1: i
in (
dom m);
B2: (
dom m)
= (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_3: 6;
then
B3: (p
. i)
in (
rng p) & (p
/. i)
= (p
. i)
= (q
/. i) by
B1,
FUNCT_1:def 3,
PARTFUN1:def 6;
then
B4:
P[(q
/. i)] by
Z2;
(q
/. i)
in (the
Sorts of T
. ((
the_arity_of o)
/. i)) by
B1,
B2,
B3,
MSUALG_6: 2;
then
B5: (
the_sort_of (q
/. i))
= ((
the_arity_of o)
/. i) by
SORT;
(m
/. i)
= (m
. i)
= ((h
. ((
the_arity_of o)
/. i))
. (q
/. i)) by
B1,
PARTFUN1:def 6,
B2,
B3,
MSUALG_3:def 6;
then (h
. (q
/. i))
= (m
/. i) & (p
/. i) is x2
-omitting by
B1,
B2,
S3,
B5,
ABBR,
Th54;
hence (m
/. i) is x1
-omitting by
B3,
B4,
OMIT;
end;
then (o
-term m) is x1
-omitting by
Th54;
hence (h
. r) is x1
-omitting by
A9,
A6,
ABBR;
end;
thus
P[r] from
TermAlgebraInd(
A1,
A2);
end;
theorem ::
MSAFREE5:107
Th68: Q is
struct-invariant & v is y
-omitting implies ((
canonical_homomorphism Q)
. v) is y
-omitting
proof
assume
AA: Q is
struct-invariant;
assume
Z0: v is y
-omitting;
set H = (
canonical_homomorphism Q);
assume
Z1: (H
. v) is non y
-omitting;
reconsider Hv = (H
. v) as
Element of (
Free (S,Y)) by
MSAFREE4: 39;
consider x be
Element of (Y
. s) such that
A1: for v1 st v1
in
{v, Hv} holds v1 is x
-omitting by
Th3A;
v
in
{v, Hv} & Hv
in
{v, Hv} by
TARSKI:def 2;
then
A2: v is x
-omitting & Hv is x
-omitting by
A1;
then
A4: x
<> y & (H
. v) is x
-omitting by
Z1;
A3: ((
Hom (Q,x,y))
. (H
. v))
= (((
Hom (Q,x,y))
** H)
. v) by
Th14
.= ((H
** (
Hom ((
Free (S,Y)),x,y)))
. v) by
Th66
.= (H
. ((
Hom ((
Free (S,Y)),x,y))
. v)) by
Th14
.= (H
. v) by
Z0,
A2,
Th78;
(
Hom (Q,x,y))
= (
Hom (Q,y,x)) by
Th56;
hence thesis by
Z1,
A3,
AA,
A4,
Th79;
end;
theorem ::
MSAFREE5:108
Th77: Q is
struct-invariant implies for p be
Element of (
Args (o,Q)) st for t be
Element of Q st t
in (
rng p) holds t is y
-omitting holds for t be
Element of Q st t
= ((
Den (o,Q))
. p) holds t is y
-omitting
proof
assume
ZZ: Q is
struct-invariant;
let p be
Element of (
Args (o,Q));
assume
Z0: for t be
Element of Q st t
in (
rng p) holds t is y
-omitting;
let t be
Element of Q;
assume t
= ((
Den (o,Q))
. p);
then
A1: t
= (((
canonical_homomorphism Q)
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,Y))))
. p)) by
MSAFREE4: 67;
(
Args (o,Q))
c= (
Args (o,(
Free (S,Y)))) by
MSAFREE4: 41;
then
reconsider q = p as
Element of (
Args (o,(
Free (S,Y))));
A2: ((
Den (o,(
Free (S,Y))))
. q)
= (o
-term q) by
MSAFREE4: 13;
now
let v;
assume
A5: v
in (
rng p);
then
reconsider d = v as
Element of Q by
RELAT_1: 167;
d is y
-omitting by
Z0,
A5;
hence v is y
-omitting;
end;
then
A3: (o
-term q) is y
-omitting by
Th54A;
(
the_sort_of (o
-term q))
= (
the_result_sort_of o) by
Th8;
then t
= ((
canonical_homomorphism Q)
. (o
-term q)) by
A1,
A2,
ABBR;
hence thesis by
ZZ,
A3,
Th68;
end;
theorem ::
MSAFREE5:109
Q is
struct-invariant & v is y
-omitting implies (h2
. v) is y
-omitting
proof
assume
Z0: Q is
struct-invariant;
defpred
P[
Element of (
Free (S,Y))] means $1 is y
-omitting implies (h2
. $1) is y
-omitting;
set x0 = y;
set s0 = s;
A1: for s, y holds
P[(y
-term )]
proof
let s, y;
assume (y
-term ) is x0
-omitting;
then x0
<> y or s
<> s0;
hence thesis by
CNST;
end;
A2: for o, q st for v st v
in (
rng q) holds
P[v] holds
P[(o
-term q)]
proof
let o, q;
assume
Z3: for v st v
in (
rng q) holds
P[v];
assume
Z4: (o
-term q) is y
-omitting;
(
canonical_homomorphism Q)
is_homomorphism ((
Free (S,Y)),Q) by
MSAFREE4:def 10;
then
A3: h2
is_homomorphism ((
Free (S,Y)),Q) by
HOMO;
(
the_sort_of (o
-term q))
= (
the_result_sort_of o) by
Th8;
then
A4: (h2
. (o
-term q))
= ((h2
. (
the_result_sort_of o))
. (o
-term q)) by
ABBR
.= ((h2
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,Y))))
. q)) by
MSAFREE4: 13
.= ((
Den (o,Q))
. (h2
# q)) by
A3,
MSUALG_3:def 7;
for t be
Element of Q st t
in (
rng (h2
# q)) holds t is y
-omitting
proof
let t be
Element of Q;
A5: (
dom q)
= (
dom (
the_arity_of o))
= (
dom (h2
# q)) by
MSUALG_3: 6;
assume t
in (
rng (h2
# q));
then
consider i be
object such that
A6: i
in (
dom q) & t
= ((h2
# q)
. i) by
A5,
FUNCT_1:def 3;
reconsider i as
Nat by
A6;
A8: (q
. i)
= (q
/. i) by
A6,
PARTFUN1:def 6;
then (q
/. i)
in (the
Sorts of (
Free (S,Y))
. ((
the_arity_of o)
/. i)) by
A5,
A6,
MSUALG_6: 2;
then
A7: (
the_sort_of (q
/. i))
= ((
the_arity_of o)
/. i) by
SORT;
A9: t
= ((h2
. ((
the_arity_of o)
/. i))
. (q
/. i)) by
A6,
A8,
MSUALG_3:def 6
.= (h2
. (q
/. i)) by
A7,
ABBR;
(q
/. i) is y
-omitting & (q
/. i)
in (
rng q) by
Z4,
A6,
A8,
Th54,
FUNCT_1:def 3;
hence t is y
-omitting by
A9,
Z3;
end;
hence (h2
. (o
-term q)) is y
-omitting by
Z0,
A4,
Th77;
end;
thus
P[v] from
TermInd(
A1,
A2);
end;
theorem ::
MSAFREE5:110
Th112: for R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X)) holds (for t be
Element of (
NFAlgebra R) holds (((
Hom ((
Free (S,X)),x1,x2))
. (
the_sort_of t))
. t)
= ((
Hom ((
NFAlgebra R),x1,x2))
. t)) & ((
Hom ((
Free (S,X)),x1,x2))
|| (
NForms R))
= (
Hom ((
NFAlgebra R),x1,x2))
proof
let R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X));
set F = (
Free (S,X));
set T = (
NFAlgebra R);
set HF = (
Hom (F,x1,x2));
set HN = (
Hom (T,x1,x2));
set N = (
NForms R);
defpred
P[
Element of T] means ((HF
. (
the_sort_of $1))
. $1)
= (HN
. $1);
A1: for s be
SortSymbol of S, x be
Element of (X
. s) holds for r be
Element of T st r
= (x
-term ) holds
P[r]
proof
set s0 = s;
let s be
SortSymbol of S;
let x be
Element of (X
. s);
let r be
Element of T;
assume
Z0: r
= (x
-term );
then
A2: (
the_sort_of r)
= (
the_sort_of (
@ r))
= s by
SORT,
Lem00;
per cases ;
suppose s0
= s & x1
= x;
then ((HF
. (
the_sort_of r))
. r)
= (x2
-term )
= ((HN
. (
the_sort_of r))
. r) by
Z0,
A2,
HOM;
hence
P[r] by
ABBR;
end;
suppose s0
= s & x2
= x;
then ((HF
. (
the_sort_of r))
. r)
= (x1
-term )
= ((HN
. (
the_sort_of r))
. r) by
Z0,
A2,
HOM;
hence
P[r] by
ABBR;
end;
suppose s0
<> s or x1
<> x & x2
<> x;
then ((HF
. (
the_sort_of r))
. r)
= r
= ((HN
. (
the_sort_of r))
. r) by
Z0,
A2,
HOM;
hence
P[r] by
ABBR;
end;
end;
A2: for o be
OperSymbol of S, p be
Element of (
Args (o,(
Free (S,X)))) holds for r be
Element of T st r
= (o
-term p) & for t be
Element of T st t
in (
rng p) holds
P[t] holds
P[r]
proof
let o be
OperSymbol of S;
let p be
Element of (
Args (o,(
Free (S,X))));
let r be
Element of T;
assume
Z1: r
= (o
-term p);
then
A3: (
the_sort_of r)
= (
the_sort_of (
@ r))
= (
the_result_sort_of o) by
Lem00,
Th8;
assume
Z2: for t be
Element of T st t
in (
rng p) holds
P[t];
A4: HF
is_homomorphism ((
Free (S,X)),(
Free (S,X))) & (o
-term p)
= ((
Den (o,(
Free (S,X))))
. p) by
MSUALG_6:def 2,
MSAFREE4: 13;
then
A6: ((HF
. (
the_sort_of r))
. r)
= ((
Den (o,(
Free (S,X))))
. (HF
# p)) by
Z1,
A3,
MSUALG_3:def 7;
A7: r
in (the
Sorts of T
. (
the_result_sort_of o)) by
A3,
SORT;
then
A5: p
in (
Args (o,T)) & ((
Den (o,T))
. p)
= (o
-term p) by
A4,
Z1,
MSAFREE4:def 8;
reconsider q = p as
Element of (
Args (o,T)) by
A7,
A4,
Z1,
MSAFREE4:def 8;
((HN
. (
the_sort_of r))
. r)
= ((
Den (o,T))
. (HN
# q))
= (
nf (((
Den (o,(
Free (S,X))))
. (HN
# q)),(R
. (
the_result_sort_of o)))) by
Z1,
A3,
A5,
MSUALG_3:def 7,
MSAFREE4:def 20,
MSUALG_6:def 2;
then ((HN
. (
the_sort_of r))
. r)
is_a_normal_form_of (((
Den (o,(
Free (S,X))))
. (HN
# q)),(R
. (
the_result_sort_of o))) by
REWRITE1: 54;
then (R
. (
the_result_sort_of o))
reduces (((
Den (o,(
Free (S,X))))
. (HN
# q)),((HN
. (
the_sort_of r))
. r));
then
consider m be
RedSequence of (R
. (
the_result_sort_of o)) such that
C1: (m
. 1)
= ((
Den (o,(
Free (S,X))))
. (HN
# q)) & (m
. (
len m))
= ((HN
. (
the_sort_of r))
. r);
C2: (HF
# p)
= (HN
# q)
proof
B1: (
dom (HF
# p))
= (
dom (
the_arity_of o))
= (
dom (HN
# q)) & (
dom p)
= (
dom (
the_arity_of o))
= (
dom q) by
MSUALG_3: 6;
hence (
len (HF
# p))
= (
len (HN
# q)) by
FINSEQ_3: 29;
let i;
assume
B0: 1
<= i
<= (
len (HF
# p));
then i
in (
dom (HF
# p)) by
FINSEQ_3: 25;
then
B3: (p
. i)
in (
rng p) & (q
. i)
in (
rng q) by
B1,
FUNCT_1:def 3;
then
reconsider t = (q
. i) as
Element of T by
RELAT_1: 167;
A8: (p
. i)
= (p
/. i) & (q
. i)
= (q
/. i) by
B1,
B0,
FINSEQ_3: 25,
PARTFUN1:def 6;
then (p
/. i)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) & (q
/. i)
in (the
Sorts of T
. ((
the_arity_of o)
/. i)) by
B1,
B0,
FINSEQ_3: 25,
MSUALG_6: 2;
then
A7: (
the_sort_of (p
/. i))
= ((
the_arity_of o)
/. i)
= (
the_sort_of (q
/. i)) by
SORT;
thus ((HF
# p)
. i)
= ((HF
. ((
the_arity_of o)
/. i))
. (p
/. i)) by
B1,
B0,
A8,
FINSEQ_3: 25,
MSUALG_3:def 6
.= (HN
. t) by
Z2,
B3,
A7,
A8
.= ((HN
. ((
the_arity_of o)
/. i))
. (q
. i)) by
A7,
A8,
ABBR
.= ((HN
# q)
. i) by
B1,
B0,
FINSEQ_3: 25,
MSUALG_3:def 6;
end;
assume not
P[r];
then
AA: (
len m)
<> 1 & (
len m)
>= (
0
+ 1) by
C1,
C2,
A6,
ABBR,
NAT_1: 13;
then (
len m)
> 1 by
XXREAL_0: 1;
then (
len m)
>= (1
+ 1) by
NAT_1: 13;
then 1
in (
dom m) & (1
+ 1)
in (
dom m) by
AA,
FINSEQ_3: 25;
then
[(m
. 1), (m
. 2)]
in (R
. (
the_result_sort_of o)) by
REWRITE1:def 2;
then
AB:
[((HF
. (
the_result_sort_of o))
. (m
. 1)), ((HF
. (
the_result_sort_of o))
. (m
. 2))]
in (R
. (
the_result_sort_of o)) by
MSUALG_6:def 9;
((HF
. (
the_result_sort_of o))
. (m
. 1))
= (((HF
. (
the_result_sort_of o))
* (HF
. (
the_result_sort_of o)))
. ((
Den (o,(
Free (S,X))))
. p)) by
A3,
A4,
A6,
Z1,
C1,
C2,
FUNCT_2: 15
.= (((HF
** HF)
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. p)) by
MSUALG_3: 2
.= (((
id the
Sorts of (
Free (S,X)))
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. p)) by
Th157
.= ((
id (the
Sorts of (
Free (S,X))
. (
the_result_sort_of o)))
. (o
-term p)) by
A4,
MSUALG_3:def 1
.= (
nf (((
Den (o,(
Free (S,X))))
. q),(R
. (
the_result_sort_of o)))) by
A5,
MSAFREE4:def 20;
then ((HF
. (
the_result_sort_of o))
. (m
. 1))
is_a_normal_form_of (((
Den (o,(
Free (S,X))))
. q),(R
. (
the_result_sort_of o))) by
REWRITE1: 54;
then ((HF
. (
the_result_sort_of o))
. (m
. 1))
is_a_normal_form_wrt (R
. (
the_result_sort_of o));
hence thesis by
AB;
end;
hereby
let t be
Element of T;
thus
P[t] from
TermAlgebraInd(
A1,
A2);
end;
set s0 = s;
let s;
thus (((
Hom ((
Free (S,X)),x1,x2))
|| (
NForms R))
. s)
= ((
Hom ((
NFAlgebra R),x1,x2))
. s)
proof
thus ((
NForms R)
. s)
= (the
Sorts of T
. s) by
MSAFREE4:def 20;
let a be
Element of ((
NForms R)
. s);
reconsider t = a as
Element of T, s by
MSAFREE4:def 20;
P[t] from
TermAlgebraInd(
A1,
A2);
then
AD: ((HF
. (
the_sort_of t))
. t)
= ((HN
. (
the_sort_of t))
. t) by
ABBR;
AE: (
the_sort_of t)
= s by
SORT;
thus (((HF
|| N)
. s)
. a)
= (((HF
. s)
| (N
. s))
. a) by
MSAFREE:def 1
.= ((HN
. s)
. a) by
AD,
AE,
FUNCT_1: 49;
end;
end;
theorem ::
MSAFREE5:111
Th113: for R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X)) holds i
in (
dom p) & (R
. ((
the_arity_of o)
/. i))
reduces (t1,t2) implies (R
. (
the_result_sort_of o))
reduces (((
Den (o,(
Free (S,X))))
. (p
+* (i,t1))),((
Den (o,(
Free (S,X))))
. (p
+* (i,t2))))
proof
let R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X));
assume
A1: i
in (
dom p) & (R
. ((
the_arity_of o)
/. i))
reduces (t1,t2);
then
consider r be
RedSequence of (R
. ((
the_arity_of o)
/. i)) such that
A2: (r
. 1)
= t1 & (r
. (
len r))
= t2;
defpred
P[
Nat] means $1
<= (
len r) implies (R
. (
the_result_sort_of o))
reduces (((
Den (o,(
Free (S,X))))
. (p
+* (i,t1))),((
Den (o,(
Free (S,X))))
. (p
+* (i,(r
. $1)))));
A3:
P[1] by
A2,
REWRITE1: 12;
A4: for i st 1
<= i &
P[i] holds
P[(i
+ 1)]
proof
let k be
Nat;
assume
A5: 1
<= k &
P[k] & (k
+ 1)
<= (
len r);
k
< (
len r) & 1
<= (k
+ 1) by
A5,
NAT_1: 13;
then k
in (
dom r) & (k
+ 1)
in (
dom r) by
A5,
FINSEQ_3: 25;
then
A7:
[(r
. k), (r
. (k
+ 1))]
in (R
. ((
the_arity_of o)
/. i)) by
REWRITE1:def 2;
then
reconsider rk = (r
. k), rk1 = (r
. (k
+ 1)) as
Element of (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
ZFMISC_1: 87;
reconsider p1 = (p
+* (i,rk)), p2 = (p
+* (i,rk1)) as
Element of (
Args (o,(
Free (S,X)))) by
MSUALG_6: 7;
set h = (
transl (o,i,p,(
Free (S,X))));
A10: (
dom p1)
= (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_6: 2;
(h
. rk)
= ((
Den (o,(
Free (S,X))))
. p1) & (h
. rk1)
= ((
Den (o,(
Free (S,X))))
. p2) by
MSUALG_6:def 4;
then
[((
Den (o,(
Free (S,X))))
. p1), ((
Den (o,(
Free (S,X))))
. p2)]
in (R
. (
the_result_sort_of o)) by
A7,
A1,
A10,
MSUALG_6:def 5,
MSUALG_6:def 8;
then (R
. (
the_result_sort_of o))
reduces (((
Den (o,(
Free (S,X))))
. p1),((
Den (o,(
Free (S,X))))
. p2)) by
REWRITE1: 15;
hence (R
. (
the_result_sort_of o))
reduces (((
Den (o,(
Free (S,X))))
. (p
+* (i,t1))),((
Den (o,(
Free (S,X))))
. (p
+* (i,(r
. (k
+ 1)))))) by
A5,
NAT_1: 13,
REWRITE1: 16;
end;
A5: (
0
+ 1)
<= (
len r) by
NAT_1: 13;
for i st i
>= 1 holds
P[i] from
NAT_1:sch 8(
A3,
A4);
hence (R
. (
the_result_sort_of o))
reduces (((
Den (o,(
Free (S,X))))
. (p
+* (i,t1))),((
Den (o,(
Free (S,X))))
. (p
+* (i,t2)))) by
A2,
A5;
end;
theorem ::
MSAFREE5:112
Th90: for R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X)) holds for t holds (R
. (
the_sort_of t))
reduces (t,((
canonical_homomorphism (
NFAlgebra R))
. t))
proof
let R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X));
let t;
set T = (
NFAlgebra R);
set H = (
canonical_homomorphism T);
defpred
P[
Element of (
Free (S,X))] means (R
. (
the_sort_of $1))
reduces ($1,(H
. $1));
A1: for s, x holds
P[(x
-term )] by
REWRITE1: 12;
A2: for o, p st for t st t
in (
rng p) holds
P[t] holds
P[(o
-term p)]
proof
let o, p;
assume
Z0: for t st t
in (
rng p) holds
P[t];
A3: (o
-term p)
= ((
Den (o,(
Free (S,X))))
. p) by
MSAFREE4: 13;
A4: (
the_sort_of (o
-term p))
= (
the_result_sort_of o) by
Th8;
then (H
. (o
-term p))
= ((H
. (
the_result_sort_of o))
. (o
-term p)) by
ABBR
.= ((
Den (o,T))
. (H
# p)) by
A3,
MSUALG_3:def 7,
MSAFREE4:def 10
.= (
nf (((
Den (o,(
Free (S,X))))
. (H
# p)),(R
. (
the_result_sort_of o)))) by
MSAFREE4:def 20;
then
A5: (H
. (o
-term p))
is_a_normal_form_of (((
Den (o,(
Free (S,X))))
. (H
# p)),(R
. (
the_result_sort_of o))) by
REWRITE1: 54;
per cases ;
suppose (
len p)
=
0 ;
then (
dom p)
= (
Seg
0 )
=
{} by
FINSEQ_1:def 3;
then (
dom (H
# p))
= (
dom (
the_arity_of o))
=
{}
= (
dom p) by
MSUALG_6: 2;
then (H
# p)
=
{}
= p;
then (o
-term p)
= ((
Den (o,(
Free (S,X))))
. (H
# p)) & (
nf (((
Den (o,(
Free (S,X))))
. (H
# p)),(R
. (
the_result_sort_of o))))
= ((
Den (o,T))
. (H
# p))
= ((H
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. p)) by
MSUALG_3:def 7,
MSAFREE4: 13,
MSAFREE4:def 20,
MSAFREE4:def 10;
then
A6: ((H
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. p))
is_a_normal_form_of ((o
-term p),(R
. (
the_result_sort_of o))) by
REWRITE1: 54;
(
the_sort_of (o
-term p))
= (
the_result_sort_of o) by
Th8;
hence thesis by
A3,
A6,
ABBR;
end;
suppose
B0: (
len p)
<>
0 ;
deffunc
F(
FinSequence,
Nat) = ($1
+* ($2,((H
# p)
. $2)));
defpred
Q[
Nat,
set,
set] means ex r be
FinSequence st $2
= r & $3
=
F(r,+);
A7: for r be
Element of (
Args (o,(
Free (S,X)))) holds for n be
Nat st 1
<= n
<= (
len p) holds
F(r,n)
in (
Args (o,(
Free (S,X))))
proof
(
Args (o,T))
c= (
Args (o,(
Free (S,X)))) by
MSAFREE4: 41;
then
C1: (H
# p)
in (
Args (o,(
Free (S,X))));
let r be
Element of (
Args (o,(
Free (S,X))));
let n be
Nat;
assume 1
<= n
<= (
len p);
then n
in (
dom p)
= (
dom (
the_arity_of o)) by
MSUALG_3: 6,
FINSEQ_3: 25;
then ((H
# p)
. n)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. n)) by
C1,
MSUALG_6: 2;
hence thesis by
MSUALG_6: 7;
end;
A6: for n be
Nat st 1
<= n & n
< (
len p) holds for x be
Element of (
Args (o,(
Free (S,X)))) holds ex y be
Element of (
Args (o,(
Free (S,X)))) st
Q[n, x, y]
proof
let n be
Nat;
assume 1
<= n;
assume
Z1: n
< (
len p);
let x be
Element of (
Args (o,(
Free (S,X))));
1
<= (n
+ 1)
<= (
len p) by
Z1,
NAT_1: 12,
NAT_1: 13;
then
reconsider y =
F(x,+) as
Element of (
Args (o,(
Free (S,X)))) by
A7;
take y;
thus
Q[n, x, y];
end;
B2: (
len p)
>= (
0
+ 1) by
B0,
NAT_1: 13;
reconsider f1 =
F(p,) as
Element of (
Args (o,(
Free (S,X)))) by
A7,
B2;
consider f be
FinSequence of (
Args (o,(
Free (S,X)))) such that
B3: (
len f)
= (
len p) & ((f
. 1)
= f1 or (
len p)
=
0 ) & for n st 1
<= n & n
< (
len p) holds
Q[n, (f
. n), (f
. (n
+ 1))] from
RECDEF_1:sch 4(
A6);
B6: (
dom f)
= (
dom p) by
B3,
FINSEQ_3: 29;
defpred
S[
Nat] means $1
<= (
len p) implies (
dom (f
. $1))
= (
dom p) & (for i st 1
<= i
<= $1 holds ((f
. $1)
. i)
= ((H
# p)
. i)) & (for i st ($1
+ 1)
<= i
<= (
len p) holds ((f
. $1)
. i)
= (p
. i));
BA:
S[1]
proof
assume 1
<= (
len p);
then
C0: 1
in (
dom p) by
FINSEQ_3: 25;
thus (
dom (f
. 1))
= (
dom p) by
B0,
B3,
FUNCT_7: 30;
hereby
let i;
assume 1
<= i
<= 1;
then i
= 1 by
XXREAL_0: 1;
hence ((f
. 1)
. i)
= ((H
# p)
. i) by
B0,
B3,
C0,
FUNCT_7: 31;
end;
let i;
assume
C1: (1
+ 1)
<= i
<= (
len p);
i
> 1 by
C1,
NAT_1: 13;
hence ((f
. 1)
. i)
= (p
. i) by
B0,
B3,
FUNCT_7: 32;
end;
BB: for j st j
>= 1 &
S[j] holds
S[(j
+ 1)]
proof
let j;
assume that
D1: j
>= 1 &
S[j] and
D2: (j
+ 1)
<= (
len p);
D7: (j
+ 1)
>= 1 & j
<= (j
+ 1) by
NAT_1: 12;
consider r be
FinSequence such that
D4: (f
. j)
= r & (f
. (j
+ 1))
=
F(r,+) by
D1,
B3,
D2,
NAT_1: 13;
thus (
dom (f
. (j
+ 1)))
= (
dom p) by
D1,
D7,
D4,
D2,
XXREAL_0: 2,
FUNCT_7: 30;
hereby
let i;
assume
D6: 1
<= i
<= (j
+ 1);
per cases by
NAT_1: 13;
suppose i
<= j;
then ((f
. j)
. i)
= ((H
# p)
. i) & i
< (j
+ 1) by
D1,
D2,
D6,
NAT_1: 13;
hence ((f
. (j
+ 1))
. i)
= ((H
# p)
. i) by
D4,
FUNCT_7: 32;
end;
suppose i
>= (j
+ 1);
then i
= (j
+ 1) by
D6,
XXREAL_0: 1;
hence ((f
. (j
+ 1))
. i)
= ((H
# p)
. i) by
D1,
D2,
D7,
D4,
FINSEQ_3: 25,
XXREAL_0: 2,
FUNCT_7: 31;
end;
end;
let i;
assume
D8: ((j
+ 1)
+ 1)
<= i
<= (
len p);
D10: (j
+ 1)
< i by
D8,
NAT_1: 13;
then ((f
. j)
. i)
= (p
. i) by
D1,
D2,
D7,
D8,
XXREAL_0: 2;
hence ((f
. (j
+ 1))
. i)
= (p
. i) by
D4,
D10,
FUNCT_7: 32;
end;
BC: for j st j
>= 1 holds
S[j] from
NAT_1:sch 8(
BA,
BB);
defpred
R[
Nat] means $1
<= (
len p) implies (R
. (
the_result_sort_of o))
reduces ((o
-term p),((
Den (o,(
Free (S,X))))
. (f
. $1)));
B4:
R[1]
proof
assume 1
<= (
len p);
then
C0: 1
in (
dom p)
= (
dom (
the_arity_of o))
= (
dom (H
# p)) by
FINSEQ_3: 25,
MSUALG_6: 2;
then
C1: (p
/. 1)
= (p
. 1)
in (
rng p) by
PARTFUN1:def 6,
FUNCT_1:def 3;
then
P[(p
/. 1)] by
Z0;
then
C2: (R
. (
the_sort_of (p
/. 1)))
reduces ((p
/. 1),((H
. (
the_sort_of (p
/. 1)))
. (p
/. 1))) by
ABBR;
reconsider t = ((H
# p)
/. 1) as
Element of (
Free (S,X)) by
MSAFREE4: 39;
C3: (
the_sort_of (p
/. 1))
= ((
the_arity_of o)
/. 1) by
C0,
Th4A;
then ((H
. (
the_sort_of (p
/. 1)))
. (p
/. 1))
= ((H
# p)
. 1)
= t & (p
+* (1,(p
/. 1)))
= p by
C0,
C1,
PARTFUN1:def 6,
FUNCT_7: 35,
MSUALG_3:def 6;
hence (R
. (
the_result_sort_of o))
reduces ((o
-term p),((
Den (o,(
Free (S,X))))
. (f
. 1))) by
A3,
B0,
B3,
C0,
C2,
C3,
Th113;
end;
B5: for i st i
>= 1 &
R[i] holds
R[(i
+ 1)]
proof
let i;
assume
D1: i
>= 1 &
R[i] & (i
+ 1)
<= (
len p);
then
D2: i
< (
len p) & 1
<= (i
+ 1) by
NAT_1: 13;
then
C0: i
in (
dom p) & (i
+ 1)
in (
dom p)
= (
dom (
the_arity_of o))
= (
dom (H
# p)) by
D1,
FINSEQ_3: 25,
MSUALG_6: 2;
then
C1: (p
/. (i
+ 1))
= (p
. (i
+ 1))
in (
rng p) by
PARTFUN1:def 6,
FUNCT_1:def 3;
then
P[(p
/. (i
+ 1))] by
Z0;
then
C2: (R
. (
the_sort_of (p
/. (i
+ 1))))
reduces ((p
/. (i
+ 1)),((H
. (
the_sort_of (p
/. (i
+ 1))))
. (p
/. (i
+ 1)))) by
ABBR;
reconsider t = ((H
# p)
/. (i
+ 1)) as
Element of (
Free (S,X)) by
MSAFREE4: 39;
reconsider fi = (f
. i), fi1 = (f
. (i
+ 1)) as
Element of (
Args (o,(
Free (S,X)))) by
B6,
D2,
D1,
FINSEQ_3: 25,
FUNCT_1: 102;
D3: (fi
. (i
+ 1))
= (p
. (i
+ 1)) & (
dom fi)
= (
dom (
the_arity_of o)) by
BC,
D1,
D2,
MSUALG_6: 2;
C3: (
the_sort_of (p
/. (i
+ 1)))
= ((
the_arity_of o)
/. (i
+ 1)) by
C0,
Th4A;
then
C4: ((H
. (
the_sort_of (p
/. (i
+ 1))))
. (p
/. (i
+ 1)))
= ((H
# p)
. (i
+ 1))
= t & (fi
+* ((i
+ 1),(p
/. (i
+ 1))))
= fi by
D3,
C0,
C1,
PARTFUN1:def 6,
FUNCT_7: 35,
MSUALG_3:def 6;
then
C5: (R
. (
the_result_sort_of o))
reduces (((
Den (o,(
Free (S,X))))
. fi),((
Den (o,(
Free (S,X))))
. (fi
+* ((i
+ 1),t)))) by
D3,
C0,
C2,
C3,
Th113;
consider r be
FinSequence such that
C6: fi
= r & fi1
=
F(r,+) by
B3,
D1,
NAT_1: 13;
thus thesis by
C4,
C5,
C6,
D1,
NAT_1: 13,
REWRITE1: 16;
end;
BD: for i st i
>= 1 holds
R[i] from
NAT_1:sch 8(
B4,
B5);
reconsider fl = (f
. (
len p)) as
Element of (
Args (o,(
Free (S,X)))) by
B6,
FUNCT_1: 102,
B2,
FINSEQ_3: 25;
fl
= (H
# p)
proof
E1: (
dom fl)
= (
dom (
the_arity_of o))
= (
dom (H
# p)) & (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_6: 2;
hence (
len fl)
= (
len (H
# p)) by
FINSEQ_3: 29;
E2: (
len fl)
= (
len p) by
E1,
FINSEQ_3: 29;
let i;
assume 1
<= i
<= (
len fl);
hence (fl
. i)
= ((H
# p)
. i) by
BC,
B2,
E2;
end;
then (R
. (
the_result_sort_of o))
reduces ((o
-term p),((
Den (o,(
Free (S,X))))
. (H
# p))) by
B2,
BD;
hence
P[(o
-term p)] by
A4,
A5,
REWRITE1: 16;
end;
end;
thus
P[t] from
TermInd(
A1,
A2);
end;
theorem ::
MSAFREE5:113
Th98: for R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X)) holds for o, p holds (R
. (
the_result_sort_of o))
reduces ((o
-term p),((
Den (o,(
NFAlgebra R)))
. ((
canonical_homomorphism (
NFAlgebra R))
# p)))
proof
let R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X));
let o, p;
set T = (
NFAlgebra R);
set h = (
canonical_homomorphism T);
A1: (o
-term p)
= ((
Den (o,(
Free (S,X))))
. p) by
MSAFREE4: 13;
A2: (
the_sort_of (o
-term p))
= (
the_result_sort_of o) by
Th8;
((h
. (
the_result_sort_of o))
. (o
-term p))
= ((
Den (o,T))
. (h
# p)) by
A1,
MSUALG_3:def 7,
MSAFREE4:def 10;
then ((
Den (o,T))
. (h
# p))
= (h
. (o
-term p)) by
A2,
ABBR;
hence (R
. (
the_result_sort_of o))
reduces ((o
-term p),((
Den (o,T))
. (h
# p))) by
A2,
Th90;
end;
theorem ::
MSAFREE5:114
Th69: for R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X)) holds for o, p holds for q be
Element of (
Args (o,(
NFAlgebra R))) st p
= q holds (R
. (
the_result_sort_of o))
reduces ((o
-term p),((
Den (o,(
NFAlgebra R)))
. q))
proof
let R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X));
let o, p;
let q be
Element of (
Args (o,(
NFAlgebra R)));
assume p
= q;
then ((
canonical_homomorphism (
NFAlgebra R))
# p)
= q by
MSAFREE4: 66;
hence (R
. (
the_result_sort_of o))
reduces ((o
-term p),((
Den (o,(
NFAlgebra R)))
. q)) by
Th98;
end;
registration
let S, X;
let R be
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X));
cluster (
NFAlgebra R) ->
struct-invariant;
coherence
proof
set T = (
NFAlgebra R);
let o;
let p be
Element of (
Args (o,(
NFAlgebra R)));
(
Args (o,T))
c= (
Args (o,(
Free (S,X)))) by
MSAFREE4: 41;
then
reconsider q = p as
Element of (
Args (o,(
Free (S,X))));
assume
A1: ((
Den (o,(
NFAlgebra R)))
. p)
= ((
Den (o,(
Free (S,X))))
. p);
let s, x1, x2;
set h = (
Hom (T,x1,x2));
set H = (
Hom ((
Free (S,X)),x1,x2));
AA: (h
# p)
= (H
# q)
proof
B1: (
dom (h
# p))
= (
dom (
the_arity_of o))
= (
dom (H
# q)) & (
dom p)
= (
dom (
the_arity_of o))
= (
dom q) by
MSUALG_3: 6;
hence (
len (h
# p))
= (
len (H
# q)) by
FINSEQ_3: 29;
let i;
assume
B0: 1
<= i
<= (
len (h
# p));
B3: ((h
# p)
. i)
= ((h
. ((
the_arity_of o)
/. i))
. (p
. i)) & ((H
# q)
. i)
= ((H
. ((
the_arity_of o)
/. i))
. (q
. i)) by
B1,
B0,
FINSEQ_3: 25,
MSUALG_3:def 6;
A8: (p
. i)
= (p
/. i) & (q
. i)
= (q
/. i) by
B1,
B0,
FINSEQ_3: 25,
PARTFUN1:def 6;
then (q
/. i)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) & (p
/. i)
in (the
Sorts of T
. ((
the_arity_of o)
/. i)) by
B1,
B0,
FINSEQ_3: 25,
MSUALG_6: 2;
then
A7: (
the_sort_of (p
/. i))
= ((
the_arity_of o)
/. i)
= (
the_sort_of (q
/. i)) by
SORT;
then ((H
. ((
the_arity_of o)
/. i))
. (p
/. i))
= (h
. (p
/. i)) by
Th112;
hence thesis by
A7,
A8,
B3,
ABBR;
end;
assume
A2: ((
Den (o,T))
. (h
# p))
<> ((
Den (o,(
Free (S,X))))
. (h
# p));
(
Args (o,T))
c= (
Args (o,(
Free (S,X)))) by
MSAFREE4: 41;
then
reconsider hp = (h
# p) as
Element of (
Args (o,(
Free (S,X))));
A4: (R
. (
the_result_sort_of o))
reduces ((o
-term hp),((
Den (o,T))
. (h
# p))) & (o
-term hp)
= ((
Den (o,(
Free (S,X))))
. hp) by
Th69,
MSAFREE4: 13;
then
consider rs be
RedSequence of (R
. (
the_result_sort_of o)) such that
A3: (rs
. 1)
= ((
Den (o,(
Free (S,X))))
. hp) & (rs
. (
len rs))
= ((
Den (o,T))
. (h
# p));
A7: (
len rs)
<> 1 & (
0
+ 1)
<= (
len rs) by
A2,
A3,
NAT_1: 13;
then 1
< (
len rs) by
XXREAL_0: 1;
then (1
+ 1)
<= (
len rs) by
NAT_1: 13;
then (1
+ 1)
in (
dom rs) & 1
in (
dom rs) by
A7,
FINSEQ_3: 25;
then
A2:
[((
Den (o,(
Free (S,X))))
. hp), (rs
. 2)]
in (R
. (
the_result_sort_of o)) by
A3,
REWRITE1:def 2;
then
reconsider rsi = (rs
. 2) as
Element of (
Free (S,X)), (
the_result_sort_of o) by
ZFMISC_1: 87;
B2:
[((H
. (
the_result_sort_of o))
. (o
-term hp)), ((H
. (
the_result_sort_of o))
. rsi)]
in (R
. (
the_result_sort_of o)) by
A2,
A4,
MSUALG_6:def 9;
A8: ((
Den (o,(
Free (S,X))))
. hp)
= ((H
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. q)) & ((
Den (o,(
Free (S,X))))
. q)
in (
Result (o,(
Free (S,X))))
= (the
Sorts of (
Free (S,X))
. (
the_result_sort_of o)) by
AA,
FUNCT_2: 5,
FUNCT_2: 15,
MSUALG_3:def 7,
MSUALG_6:def 2;
then
A9: ((H
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. hp))
= (((H
. (
the_result_sort_of o))
* (H
. (
the_result_sort_of o)))
. ((
Den (o,(
Free (S,X))))
. q)) by
FUNCT_2: 15
.= (((H
** H)
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. q)) by
MSUALG_3: 2
.= (((
id the
Sorts of (
Free (S,X)))
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. q)) by
Th157
.= ((
id (the
Sorts of (
Free (S,X))
. (
the_result_sort_of o)))
. ((
Den (o,(
Free (S,X))))
. q)) by
MSUALG_3:def 1
.= ((
Den (o,(
Free (S,X))))
. q) by
A8,
FUNCT_1: 18;
set T = (
NFAlgebra R);
set g = (
canonical_homomorphism T);
((
Den (o,T))
. p)
in (
Result (o,T)) by
FUNCT_2: 5;
then ((
Den (o,T))
. p) is
Element of T, (
the_result_sort_of o) by
FUNCT_2: 15;
then
reconsider op = ((
Den (o,T))
. p) as
Element of T;
((
Den (o,T))
. p)
= (
nf (((
Den (o,(
Free (S,X))))
. p),(R
. (
the_result_sort_of o)))) by
MSAFREE4:def 20;
then ((
Den (o,T))
. p)
is_a_normal_form_of (((
Den (o,(
Free (S,X))))
. p),(R
. (
the_result_sort_of o))) by
REWRITE1: 54;
then ((
Den (o,T))
. p)
is_a_normal_form_wrt (R
. (
the_result_sort_of o));
hence contradiction by
A1,
B2,
A4,
A9;
end;
end
registration
let S, X;
cluster
struct-invariant for
all_vars_including
inheriting_operations
free_in_itselfX, S
-terms
MSAlgebra over S;
existence
proof
set R = the
NF-var
terminating
with_UN_property
invariant
stable
ManySortedRelation of (
Free (S,X));
take T = (
NFAlgebra R);
thus thesis;
end;
end
begin
definition
let S, s1, s2;
::
MSAFREE5:def33
attr s2 is s1
-reachable means
:
REACH: (
TranslationRel S)
reduces (s1,s2);
end
registration
let S, s1;
cluster s1
-reachable for
SortSymbol of S;
existence
proof
take s1;
thus (
TranslationRel S)
reduces (s1,s1) by
REWRITE1: 12;
end;
end
reserve s2 for s1
-reachable
SortSymbol of S,
g1 for
Translation of (
Free (S,Y)), s1, s2;
theorem ::
MSAFREE5:115
(
TranslationRel S)
reduces (s,(
the_sort_of C9))
proof
defpred
P[
Element of (
Free (S,Z))] means (
TranslationRel S)
reduces (s,(
the_sort_of $1));
(
the_sort_of (z
-term ))
= s by
SORT;
then
A1:
P[(z
-term )] by
REWRITE1: 12;
A2:
now
let o, k;
assume
A3: k is z
-context_including;
assume
A4:
P[(z
-context_in k)];
let C be
context of z such that
AA: C
= (o
-term k);
thus
P[C]
proof
set t = (o
-term k);
now
take o;
thus (
the_result_sort_of o)
= (
the_sort_of t) by
Th8;
reconsider i = (z
-context_pos_in k) as
Element of
NAT by
ORDINAL1:def 12;
take i;
A7: (
dom k)
= (
dom (
the_arity_of o)) by
MSUALG_3: 6;
hence i
in (
dom (
the_arity_of o)) by
A3,
Th71;
(k
. i)
in (the
Sorts of (
Free (S,Z))
. ((
the_arity_of o)
/. i)) & (k
. i)
= (z
-context_in k) by
A3,
A7,
Th71,
MSUALG_6: 2;
hence ((
the_arity_of o)
/. i)
= (
the_sort_of (z
-context_in k)) by
SORT;
end;
then
[(
the_sort_of (z
-context_in k)), (
the_sort_of (o
-term k))]
in (
TranslationRel S) by
MSUALG_6:def 3;
then (
TranslationRel S)
reduces ((
the_sort_of (z
-context_in k)),(
the_sort_of (o
-term k))) by
REWRITE1: 15;
hence thesis by
A4,
AA,
REWRITE1: 16;
end;
end;
thus
P[C9] from
ContextInd(
A1,
A2);
end;
registration
let S, X, s, x, C;
cluster (
the_sort_of C) -> s
-reachable;
coherence
proof
defpred
P[
Element of (
Free (S,X))] means (
the_sort_of $1) is s
-reachable;
s is s
-reachable by
REWRITE1: 12;
then
A1:
P[(x
-term )] by
SORT;
A2: for o holds for p st p is x
-context_including holds
P[(x
-context_in p)] implies for C be
context of x st C
= (o
-term p) holds
P[C]
proof
let o, p;
assume that
A3: p is x
-context_including and
A4:
P[(x
-context_in p)];
let C such that
AA: C
= (o
-term p);
A6: (
the_sort_of C)
= (
the_result_sort_of o) by
AA,
Th8;
A5: (x
-context_pos_in p)
in (
dom p)
= (
dom (
the_arity_of o)) & (x
-context_in p)
= (p
. (x
-context_pos_in p)) by
A3,
Th71,
MSUALG_6: 2;
(x
-context_in p)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. (x
-context_pos_in p)))
= (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
. (x
-context_pos_in p))) by
A5,
MSUALG_6: 2,
PARTFUN1:def 6;
then (
the_sort_of (x
-context_in p))
= ((
the_arity_of o)
/. (x
-context_pos_in p))
= ((
the_arity_of o)
. (x
-context_pos_in p))
in (
rng (
the_arity_of o)) & (x
-context_pos_in p)
in
NAT by
A5,
SORT,
FUNCT_1:def 3,
PARTFUN1:def 6;
then
[(
the_sort_of (x
-context_in p)), (
the_result_sort_of o)]
in (
TranslationRel S) by
A5,
MSUALG_6:def 3;
then (
TranslationRel S)
reduces ((
the_sort_of (x
-context_in p)),(
the_result_sort_of o)) & (
TranslationRel S)
reduces (s,(
the_sort_of (x
-context_in p))) by
A4,
REACH,
REWRITE1: 15;
hence (
TranslationRel S)
reduces (s,(
the_sort_of C)) by
A6,
REWRITE1: 16;
end;
P[C] from
ContextInd(
A1,
A2);
hence thesis;
end;
end
definition
let S, X, s1, s2, g;
let t be
Element of (the
Sorts of (
Free (S,X))
. s1);
:: original:
.
redefine
func g
. t ->
Element of (the
Sorts of (
Free (S,X))
. s2) ;
coherence by
FUNCT_2: 5;
end
definition
let S, X, s, x, C;
::
MSAFREE5:def34
attr C is
basic means ex o, p st C
= (o
-term p) & (x
-context_in p)
= (x
-term );
end
definition
let S, X, s, x, C;
::
MSAFREE5:def35
func
transl C ->
Function of (the
Sorts of (
Free (S,X))
. s), (the
Sorts of (
Free (S,X))
. (
the_sort_of C)) means
:
TRANS: (
the_sort_of t)
= s implies (it
. t)
= (C
-sub t);
existence
proof
deffunc
F(
Element of (the
Sorts of (
Free (S,X))
. s)) = (C
-sub $1);
consider f be
Function of (the
Sorts of (
Free (S,X))
. s), (the
Sorts of (
Free (S,X))
. (
the_sort_of C)) such that
A1: for t be
Element of (the
Sorts of (
Free (S,X))
. s) holds (f
. t)
=
F(t) from
FUNCT_2:sch 4;
take f;
let t;
assume (
the_sort_of t)
= s;
then t
in (the
Sorts of (
Free (S,X))
. s) by
SORT;
hence thesis by
A1;
end;
uniqueness
proof
let f1,f2 be
Function of (the
Sorts of (
Free (S,X))
. s), (the
Sorts of (
Free (S,X))
. (
the_sort_of C)) such that
A1: (
the_sort_of t)
= s implies (f1
. t)
= (C
-sub t) and
A2: (
the_sort_of t)
= s implies (f2
. t)
= (C
-sub t);
let t be
Element of (the
Sorts of (
Free (S,X))
. s);
A3: (
the_sort_of t)
= s by
SORT;
thus (f1
. t)
= (C
-sub t) by
A1,
A3
.= (f2
. t) by
A2,
A3;
end;
end
theorem ::
MSAFREE5:116
Th57: for S, s, X, x, C st C
= (x
-term ) holds (
transl C)
= (
id (the
Sorts of (
Free (S,X))
. s))
proof
let S, s, X, x, C;
assume
Z0: C
= (x
-term );
let t be
Element of (the
Sorts of (
Free (S,X))
. s);
A2: (
the_sort_of t)
= s by
SORT;
hence ((
transl C)
. t)
= (C
-sub t) by
TRANS
.= ((
id (the
Sorts of (
Free (S,X))
. s))
. t) by
Z0,
A2,
Th41;
end;
theorem ::
MSAFREE5:117
Th58: C9
= (o
-term k) & (z
-context_in k)
= (z
-term ) & k1
= (k
+* ((z
-context_pos_in k),l)) implies (C9
-sub l)
= (o
-term k1)
proof
set C = C9, p = k, p1 = k1, x = z, t = l, X = Z;
assume
Z0: C
= (o
-term p);
assume
Z1: (x
-context_in p)
= (x
-term );
assume
Z2: p1
= (p
+* ((x
-context_pos_in p),t));
set i = (x
-context_pos_in p);
A1: p is x
-context_including by
Z0,
Th53;
then
A2: i
in (
dom p)
= (
dom (
the_arity_of o)) & (p
. i)
= (x
-term ) by
Z1,
Th71,
MSUALG_3: 6;
(p1
. i)
= t by
A1,
Z2,
Th71,
FUNCT_7: 31;
then t
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) & (x
-term )
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
A2,
MSUALG_6: 2;
then
A3: (
the_sort_of t)
= ((
the_arity_of o)
/. i)
= (
the_sort_of (x
-context_in p))
= s by
Z1,
SORT;
then ((x
-context_in p)
-sub t)
= t by
Z1,
Th41;
hence (C
-sub t)
= (o
-term p1) by
Z0,
Z2,
A3,
Th43,
Th53;
end;
theorem ::
MSAFREE5:118
C9 is
basic implies (
transl C9)
is_e.translation_of ((
Free (S,Z)),s,(
the_sort_of C9))
proof
set X = Z, C = C9, x = z;
given o, k such that
Z0: C
= (o
-term k) & (x
-context_in k)
= (z
-term );
set p = k;
take o;
thus (
the_result_sort_of o)
= (
the_sort_of C) by
Z0,
Th8;
reconsider i = (x
-context_pos_in p) as
Element of
NAT by
ORDINAL1:def 12;
take i;
A1: p is x
-context_including by
Z0,
Th53;
then i
in (
dom p) by
Th71;
hence i
in (
dom (
the_arity_of o)) by
MSUALG_3: 6;
then (x
-term )
= (p
. i)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
Z0,
A1,
Th71,
MSUALG_6: 2;
then
A4: s
= (
the_sort_of (x
-context_in p))
= ((
the_arity_of o)
/. i) by
Z0,
SORT;
hence ((
the_arity_of o)
/. i)
= s;
reconsider a = p as
Function;
take a;
thus a
in (
Args (o,(
Free (S,X))));
(
dom (
transl C))
= (the
Sorts of (
Free (S,X))
. s) by
FUNCT_2:def 1;
hence (
dom (
transl C))
= (
dom (
transl (o,i,a,(
Free (S,X))))) by
A4,
MSUALG_6:def 4;
let c be
object;
assume c
in (
dom (
transl C));
then
reconsider c as
Element of (the
Sorts of (
Free (S,X))
. s);
reconsider q = (p
+* (i,c)) as
Element of (
Args (o,(
Free (S,X)))) by
A4,
MSUALG_6: 7;
A6: ((
transl (o,i,a,(
Free (S,X))))
. c)
= ((
Den (o,(
Free (S,X))))
. q) by
A4,
MSUALG_6:def 4
.= (o
-term q) by
MSAFREE4: 13;
(C
-sub c)
= (o
-term q) & (
the_sort_of c)
= s by
Z0,
Th58,
SORT;
hence thesis by
A6,
TRANS;
end;
theorem ::
MSAFREE5:119
Th59: for V be
finite
set holds m
in (
dom q) & ((
the_arity_of o)
/. m)
= s implies ex y, C1, q1 st y
nin V & C1
= (o
-term q1) & q1
= (q
+* (m,(y
-term ))) & q1 is y
-context_including & m
= (y
-context_pos_in q1) & (y
-context_in q1)
= (y
-term )
proof
let V be
finite
set;
assume
Z0: m
in (
dom q) & ((
the_arity_of o)
/. m)
= s;
set y = the
Element of ((Y
. s)
\ (V
\/ (
proj1 (
rng (o
-term q)))));
A0: (
proj1 (
rng (o
-term q))) is
finite by
WAYBEL26: 39;
then
reconsider y as
Element of (Y
. s) by
XBOOLE_0:def 5;
reconsider t = (y
-term ) as
Element of (
Free (S,Y));
reconsider q1 = (q
+* (m,(y
-term ))) as
Element of (
Args (o,(
Free (S,Y)))) by
Z0,
MSUALG_6: 7;
A1: q1 is y
-context_including
proof
take m;
thus m
in (
dom q1) by
Z0,
FUNCT_7: 30;
thus (q1
. m) is
context of y by
Z0,
FUNCT_7: 31;
let j, v;
assume
Z1: j
in (
dom q1) & j
<> m & v
= (q1
. j);
then
A4: j
in (
dom q) by
FUNCT_7: 30;
then
A2: v
= (q
. j)
in (
rng q) by
Z1,
FUNCT_7: 32,
FUNCT_1:def 3;
set d = the
Element of (
Coim (v,
[y, s]));
assume
A7: (
Coim (v,
[y, s]))
<>
{} ;
then
A3: d
in (
dom v) & (v
. d)
in
{
[y, s]} by
FUNCT_1:def 7;
reconsider d as
Element of (
dom v) by
A7,
FUNCT_1:def 7;
consider k be
Nat such that
A5: j
= (1
+ k) by
Z1,
FINSEQ_3: 25,
NAT_1: 10;
A6: (v
. d)
=
[y, s] by
A3,
TARSKI:def 1;
j
<= (
len q) by
A4,
FINSEQ_3: 25;
then (
<*k*>
^ d)
in (
dom (o
-term q)) & ((o
-term q)
. (
<*k*>
^ d))
= (v
. d) by
A2,
A5,
TREES_4: 11,
TREES_4: 12,
NAT_1: 13;
then
[y, s]
in (
rng (o
-term q)) by
A6,
FUNCT_1:def 3;
then y
in (
proj1 (
rng (o
-term q))) by
XTUPLE_0:def 12;
then y
in (V
\/ (
proj1 (
rng (o
-term q)))) by
XBOOLE_0:def 3;
hence contradiction by
A0,
XBOOLE_0:def 5;
end;
then
reconsider C9 = (o
-term q1) as
context of y by
Th53;
take y, C9, q1;
y
nin (V
\/ (
proj1 (
rng (o
-term q)))) by
A0,
XBOOLE_0:def 5;
hence y
nin V by
XBOOLE_0:def 3;
thus C9
= (o
-term q1);
thus q1
= (q
+* (m,(y
-term )));
thus q1 is y
-context_including by
A1;
A7: (q1
. m)
= (y
-term ) by
Z0,
FUNCT_7: 31;
hence m
= (y
-context_pos_in q1) by
A1,
CPI;
hence (y
-context_in q1)
= (y
-term ) by
A1,
A7,
Th71;
end;
theorem ::
MSAFREE5:120
Th91: for s1,s2 be
SortSymbol of S, V be
finite
set holds m
in (
dom q) & s1
= ((
the_arity_of o)
/. m) implies ex y be
Element of (Y
. s1), C be
context of y, q1 st y
nin V & q1
= (q
+* (m,(y
-term ))) & q1 is y
-context_including & (y
-context_in q1)
= (y
-term ) & C
= (o
-term q1) & m
= (y
-context_pos_in q1) & (
transl C)
= (
transl (o,m,q,(
Free (S,Y))))
proof
let s1,s2 be
SortSymbol of S, V be
finite
set;
assume
Z1: m
in (
dom q);
assume
Z2: s1
= ((
the_arity_of o)
/. m);
consider y be
Element of (Y
. s1), C be
context of y, q1 such that
A1: y
nin V & C
= (o
-term q1) & q1
= (q
+* (m,(y
-term ))) & q1 is y
-context_including & m
= (y
-context_pos_in q1) & (y
-context_in q1)
= (y
-term ) by
Z1,
Z2,
Th59;
take y, C, q1;
thus y
nin V by
A1;
thus q1
= (q
+* (m,(y
-term ))) by
A1;
thus q1 is y
-context_including by
A1;
thus (y
-context_in q1)
= (y
-term ) by
A1;
thus C
= (o
-term q1) by
A1;
thus m
= (y
-context_pos_in q1) by
A1;
(
dom (
transl C))
= (the
Sorts of (
Free (S,Y))
. s1) by
FUNCT_2:def 1;
hence (
dom (
transl C))
= (
dom (
transl (o,m,q,(
Free (S,Y))))) by
Z2,
MSUALG_6:def 4;
let c be
object;
assume c
in (
dom (
transl C));
then
reconsider c as
Element of (the
Sorts of (
Free (S,Y))
. s1);
reconsider q2 = (q
+* (m,c)) as
Element of (
Args (o,(
Free (S,Y)))) by
Z2,
MSUALG_6: 7;
A6: ((
transl (o,m,q,(
Free (S,Y))))
. c)
= ((
Den (o,(
Free (S,Y))))
. q2) by
Z2,
MSUALG_6:def 4
.= (o
-term q2) by
MSAFREE4: 13;
q2
= (q1
+* (m,c)) by
A1,
FUNCT_7: 34;
then (C
-sub c)
= (o
-term q2) & (
the_sort_of c)
= s1 by
A1,
Th58,
SORT;
hence thesis by
A6,
TRANS;
end;
registration
let S, X, t;
let a;
cluster (
Coim (t,a)) ->
FinSequence-membered;
coherence ;
end
theorem ::
MSAFREE5:121
Th70: X is
non-trivial & (
the_sort_of t)
= s implies (
card (
Coim (t,a)))
c= (
card (
Coim ((C
-sub t),a)))
proof
assume that
ZZ: X is
non-trivial and
Z0: (
the_sort_of t)
= s;
defpred
P[
context of x] means for C st C
= $1 holds (
card (
Coim (t,a)))
c= (
card (
Coim ((C
-sub t),a)));
A0:
P[(x
-term )] by
Z0,
Th41;
A1: for o, p st p is x
-context_including holds
P[(x
-context_in p)] implies for C be
context of x st C
= (o
-term p) holds
P[C]
proof
let o, p;
assume
Z1: p is x
-context_including;
assume
Z2:
P[(x
-context_in p)];
set i = (x
-context_pos_in p);
A6: i
in (
dom p)
= (
dom (
the_arity_of o)) by
Z1,
Th71,
MSUALG_3: 6;
then
consider j such that
A3: i
= (1
+ j) by
NAT_1: 10,
FINSEQ_3: 25;
(
card (
<*j*>
^^ (
Coim (((x
-context_in p)
-sub t),a))))
= (
card (
Coim (((x
-context_in p)
-sub t),a))) by
Th1;
then
consider f be
Function such that
A2: f is
one-to-one & (
dom f)
= (
Coim (t,a)) & (
rng f)
c= (
<*j*>
^^ (
Coim (((x
-context_in p)
-sub t),a))) by
Z2,
CARD_1: 10;
let C be
context of x;
assume
Z3: C
= (o
-term p);
(x
-context_in p)
= (p
. i) by
Z1,
Th71;
then (x
-context_in p)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. i)) by
A6,
MSUALG_6: 2;
then (
the_sort_of (x
-context_in p))
= ((
the_arity_of o)
/. i) by
SORT;
then
reconsider q = (p
+* ((x
-context_pos_in p),((x
-context_in p)
-sub t))) as
Element of (
Args (o,(
Free (S,X)))) by
MSUALG_6: 7;
A4: (C
-sub t)
= (o
-term q) by
ZZ,
Z0,
Z1,
Z3,
Th43;
(
<*j*>
^^ (
Coim (((x
-context_in p)
-sub t),a)))
c= (
Coim ((C
-sub t),a))
proof
let r be
object;
assume r
in (
<*j*>
^^ (
Coim (((x
-context_in p)
-sub t),a)));
then
consider n be
Element of (
Coim (((x
-context_in p)
-sub t),a)) such that
A5: r
= (
<*j*>
^ n) & n
in (
Coim (((x
-context_in p)
-sub t),a));
(
Coim (((x
-context_in p)
-sub t),a))
c= (
dom ((x
-context_in p)
-sub t)) by
RELAT_1: 132;
then
reconsider n as
Element of (
dom ((x
-context_in p)
-sub t)) by
A5;
i
<= (
len p) & (
dom q)
= (
dom (
the_arity_of o)) by
A6,
FINSEQ_3: 25,
MSUALG_3: 6;
then j
< (
len p)
= (
len q) & (q
. i)
= ((x
-context_in p)
-sub t) by
A3,
Z1,
Th71,
MSUALG_3: 6,
NAT_1: 13,
FINSEQ_3: 29,
FUNCT_7: 31;
then
A9: (
<*j*>
^ n)
in (
dom (C
-sub t)) & ((C
-sub t)
. r)
= (((x
-context_in p)
-sub t)
. n)
in
{a} by
A3,
A4,
A5,
TREES_4: 11,
TREES_4: 12,
FUNCT_1:def 7;
thus thesis by
A5,
A9,
FUNCT_1:def 7;
end;
then (
rng f)
c= (
Coim ((C
-sub t),a)) by
A2;
hence
P[C] by
A2,
CARD_1: 10;
end;
P[C] from
ContextInd(
A0,
A1);
hence thesis;
end;
theorem ::
MSAFREE5:122
p is x
-context_including & i
in (
dom p) implies ((p
/. i) is non x
-omitting iff (p
/. i) is x
-context)
proof
assume p is x
-context_including;
then
consider j such that
A0: j
in (
dom p) & (p
. j) is
context of x & for n, t st n
in (
dom p) & n
<> j & t
= (p
. n) holds t is x
-omitting;
assume
Z1: i
in (
dom p);
then
A1: (p
/. i)
= (p
. i) by
PARTFUN1:def 6;
thus (p
/. i) is non x
-omitting & (p
/. i) is non x
-context implies contradiction by
A0,
A1,
Z1;
assume (p
/. i) is x
-context;
hence (p
/. i) is non x
-omitting;
end;
theorem ::
MSAFREE5:123
Th60: X is
non-trivial & (
the_sort_of C)
= s1 implies for x1 be
Element of (X
. s1) holds for C1 be
context of x1, C2 be
context of x st C2
= (C1
-sub C) holds for t st (
the_sort_of t)
= s holds (C2
-sub t)
= (C1
-sub (C
-sub t))
proof
assume
ZZ: X is
non-trivial;
assume
Z0: (
the_sort_of C)
= s1;
let x1 be
Element of (X
. s1);
let C1 be
context of x1;
let C2 be
context of x;
assume
Z1: C2
= (C1
-sub C);
let t;
assume
Z2: (
the_sort_of t)
= s;
A0: (
the_sort_of (C
-sub t))
= s1 by
Z0,
SORT;
defpred
P[
context of x1] means for C1 be
context of x1 holds for C2 be
context of x st C1
= $1 & C2
= (C1
-sub C) holds (C2
-sub t)
= (C1
-sub (C
-sub t));
A1:
P[(x1
-term )]
proof
let C1 be
context of x1;
let C2 be
context of x;
assume
B1: C1
= (x1
-term ) & C2
= (C1
-sub C);
then C2
= C by
Z0,
Th41;
hence (C2
-sub t)
= (C1
-sub (C
-sub t)) by
B1,
A0,
Th41;
end;
A2: for o holds for w be
Element of (
Args (o,(
Free (S,X)))) st w is x1
-context_including holds
P[(x1
-context_in w)] implies for C be
context of x1 st C
= (o
-term w) holds
P[C]
proof
let o;
let w be
Element of (
Args (o,(
Free (S,X))));
assume
Z3: w is x1
-context_including;
assume
Z4:
P[(x1
-context_in w)];
let C1 be
context of x1;
assume
Z5: C1
= (o
-term w);
let CC be
context of x1;
let C2 be
context of x;
assume
B2: CC
= C1 & C2
= (CC
-sub C);
set i = (x1
-context_pos_in w);
B3: (x1
-context_pos_in w)
in (
dom w)
= (
dom (
the_arity_of o)) & (x1
-context_in w)
= (w
. (x1
-context_pos_in w)) by
Z3,
Th71,
MSUALG_3: 6;
then (x1
-context_in w)
in (the
Sorts of (
Free (S,X))
. ((
the_arity_of o)
/. (x1
-context_pos_in w))) by
MSUALG_6: 2;
then
B7: (
the_sort_of (x1
-context_in w))
= ((
the_arity_of o)
/. (x1
-context_pos_in w)) by
SORT;
then
reconsider p = (w
+* ((x1
-context_pos_in w),((x1
-context_in w)
-sub (C
-sub t)))), q = (w
+* ((x1
-context_pos_in w),((x1
-context_in w)
-sub C))) as
Element of (
Args (o,(
Free (S,X)))) by
MSUALG_6: 7;
B5: C2
= (o
-term q) & (C1
-sub (C
-sub t))
= (o
-term p) by
ZZ,
A0,
Z0,
Z3,
Z5,
B2,
Th43;
then
B6: q is x
-context_including & (
dom q)
= (
dom (
the_arity_of o)) by
Th53,
MSUALG_3: 6;
reconsider A = (
Coim (((x1
-context_in w)
-sub C),
[x, s])) as
finite
set;
(
Segm 1)
= (
Segm (
card (
Coim (C,
[x, s]))))
= (
card (
Coim (C,
[x, s])))
c= (
card (
Coim (((x1
-context_in w)
-sub C),
[x, s])))
= (
Segm (
card (
Coim (((x1
-context_in w)
-sub C),
[x, s])))) by
ZZ,
Z0,
Th70,
CONTEXT;
then
B9: ((x1
-context_in w)
-sub C) is non x
-omitting & (q
/. i)
= (q
. i)
= ((x1
-context_in w)
-sub C) by
B3,
B6,
PARTFUN1:def 6,
FUNCT_7: 31;
then
reconsider C3 = ((x1
-context_in w)
-sub C) as
context of x by
B3,
B6;
(
the_sort_of C3)
= ((
the_arity_of o)
/. (x1
-context_pos_in w)) by
B7,
SORT;
then
reconsider u = (w
+* ((x1
-context_pos_in w),(C3
-sub t))) as
Element of (
Args (o,(
Free (S,X)))) by
MSUALG_6: 7;
C3
in (
rng q) by
B9,
B6,
B3,
FUNCT_1:def 3;
then (o
-term p)
= (o
-term u) & (x
-context_pos_in q)
= (x1
-context_pos_in w) & (q
+* ((x1
-context_pos_in w),(C3
-sub t)))
= u & (x
-context_in q)
= C3 by
B6,
Z4,
B9,
CIn,
CPI,
FUNCT_7: 34;
hence thesis by
B2,
ZZ,
Th43,
Z2,
B5,
Th53;
end;
P[C1] from
ContextInd(
A1,
A2);
hence (C2
-sub t)
= (C1
-sub (C
-sub t)) by
Z1;
end;
theorem ::
MSAFREE5:124
Th93: X is
non-trivial & (
the_sort_of C)
= s1 implies for x1 be
Element of (X
. s1) holds for C1 be
context of x1, C2 be
context of x st C2
= (C1
-sub C) holds (
transl C2)
= ((
transl C1)
* (
transl C))
proof
assume that
ZZ: X is
non-trivial and
Z0: (
the_sort_of C)
= s1;
let x1 be
Element of (X
. s1);
let C1 be
context of x1;
let C2 be
context of x;
assume
Z1: C2
= (C1
-sub C);
reconsider f = (
transl C) as
Function of (the
Sorts of (
Free (S,X))
. s), (the
Sorts of (
Free (S,X))
. s1) by
Z0;
(
transl C2)
= ((
transl C1)
* f)
proof
let t be
Element of (the
Sorts of (
Free (S,X))
. s);
A1: (
the_sort_of t)
= s by
SORT;
then
A2: ((
transl C2)
. t)
= (C2
-sub t) & ((
transl C)
. t)
= (C
-sub t) by
TRANS;
(
the_sort_of (C
-sub t))
= s1 by
Z0,
SORT;
then ((
transl C1)
. (C
-sub t))
= (C1
-sub (C
-sub t)) by
TRANS;
then (((
transl C1)
* f)
. t)
= (C1
-sub (C
-sub t)) by
A2,
FUNCT_2: 15;
hence thesis by
ZZ,
A2,
Z0,
Z1,
A1,
Th60;
end;
hence (
transl C2)
= ((
transl C1)
* (
transl C));
end;
theorem ::
MSAFREE5:125
ex y11, C12 st (
the_sort_of C12)
= s2 & g1
= (
transl C12)
proof
defpred
P[
Function,
SortSymbol of S,
SortSymbol of S] means for V be
finite
set holds ex x be
Element of (Y
. $2) st ex C be
context of x st x
nin V & (
the_sort_of C)
= $3 & $1
= (
transl C);
A1: for s holds
P[(
id (the
Sorts of (
Free (S,Y))
. s)), s, s]
proof
let s;
let V be
finite
set;
reconsider x = the
Element of ((Y
. s)
\ V) as
Element of (Y
. s);
reconsider C = (x
-term ) as
context of x;
take x, C;
thus x
nin V by
XBOOLE_0:def 5;
thus (
the_sort_of C)
= s by
SORT;
thus thesis by
Th57;
end;
A2: for s1,s2,s3 be
SortSymbol of S st (
TranslationRel S)
reduces (s1,s2) holds for t be
Translation of (
Free (S,Y)), s1, s2 st
P[t, s1, s2] holds for f be
Function st f
is_e.translation_of ((
Free (S,Y)),s2,s3) holds
P[(f
* t), s1, s3]
proof
let s1,s2,s3 be
SortSymbol of S;
assume (
TranslationRel S)
reduces (s1,s2);
let t be
Translation of (
Free (S,Y)), s1, s2;
assume
Z1:
P[t, s1, s2];
let f be
Function;
assume f
is_e.translation_of ((
Free (S,Y)),s2,s3);
then
consider o be
OperSymbol of S such that
B1: (
the_result_sort_of o)
= s3 & ex i be
Element of
NAT st i
in (
dom (
the_arity_of o)) & ((
the_arity_of o)
/. i)
= s2 & ex a be
Function st a
in (
Args (o,(
Free (S,Y)))) & f
= (
transl (o,i,a,(
Free (S,Y)))) by
MSUALG_6:def 5;
consider i be
Element of
NAT such that
B2: i
in (
dom (
the_arity_of o)) & ((
the_arity_of o)
/. i)
= s2 & ex a be
Function st a
in (
Args (o,(
Free (S,Y)))) & f
= (
transl (o,i,a,(
Free (S,Y)))) by
B1;
consider a be
Function such that
B3: a
in (
Args (o,(
Free (S,Y)))) & f
= (
transl (o,i,a,(
Free (S,Y)))) by
B2;
reconsider a as
Element of (
Args (o,(
Free (S,Y)))) by
B3;
let V be
finite
set;
[s2, s3]
in (
TranslationRel S) & i
in (
dom a) by
B1,
B2,
MSUALG_6: 2,
MSUALG_6:def 3;
then
consider y be
Element of (Y
. s2), C be
context of y, q1 be
Element of (
Args (o,(
Free (S,Y)))) such that
B4: y
nin V & q1
= (a
+* (i,(y
-term ))) & q1 is y
-context_including & (y
-context_in q1)
= (y
-term ) & C
= (o
-term q1) & i
= (y
-context_pos_in q1) & (
transl C)
= (
transl (o,i,a,(
Free (S,Y)))) by
B2,
Th91;
consider y1 be
Element of (Y
. s1), C1 be
context of y1 such that
B5: y1
nin (V
\/ (
vf C)) & (
the_sort_of C1)
= s2 & t
= (
transl C1) by
Z1;
y
in (
vf C) by
Th95;
then y1
nin (
vf C) & y
<> y1 by
B5,
XBOOLE_0:def 3;
then C is y1
-omitting & y is y1
-different by
Th92;
then
reconsider C2 = (C
-sub C1) as
context of y1 by
B5,
Th94;
take y1, C2;
thus y1
nin V by
B5,
XBOOLE_0:def 3;
(
the_sort_of C2)
= (
the_sort_of C) by
SORT;
hence (
the_sort_of C2)
= s3 by
B1,
B4,
Th8;
thus (f
* t)
= (
transl C2) by
B3,
B4,
B5,
Th93;
end;
for s1,s2 be
SortSymbol of S st (
TranslationRel S)
reduces (s1,s2) holds for t be
Translation of (
Free (S,Y)), s1, s2 holds
P[t, s1, s2] from
MSUALG_6:sch 1(
A1,
A2);
then ex x be
Element of (Y
. s1) st ex C be
context of x st x
nin
{} & (
the_sort_of C)
= s2 & g1
= (
transl C) by
REACH;
hence thesis;
end;
scheme ::
MSAFREE5:sch5
LambdaTerm { S() -> non
empty non
void
ManySortedSign , X() ->
non-empty
ManySortedSet of the
carrier of S() , T1,T2() ->
all_vars_including
inheriting_operationsX(), S()
-terms
MSAlgebra over S() , F(
object) ->
Element of T2() } :
ex f be
ManySortedFunction of T1(), T2() st for t be
Element of T1() holds (f
. t)
= F(t)
provided
A0: for t be
Element of T1() holds (
the_sort_of t)
= (
the_sort_of F(t));
deffunc
D(
SortSymbol of S()) = (the
Sorts of T1()
. $1);
deffunc
F(
object,
object) = F($2);
consider f be
ManySortedFunction of the
carrier of S() such that
A1: for o be
SortSymbol of S() holds (
dom (f
. o))
=
D(o) & for x be
Element of
D(o) holds ((f
. o)
. x)
=
F(o,x) from
MSAFREE4:sch 7;
f is
ManySortedFunction of T1(), T2()
proof
let i be
object;
assume i
in the
carrier of S();
then
reconsider s = i as
SortSymbol of S();
A2: (
dom (f
. s))
=
D(s) by
A1;
(
rng (f
. s))
c= (the
Sorts of T2()
. s)
proof
let a;
assume a
in (
rng (f
. s));
then
consider b such that
A3: b
in
D(s) & a
= ((f
. s)
. b) by
A2,
FUNCT_1:def 3;
reconsider b as
Element of
D(s) by
A3;
s
= (
the_sort_of b)
= (
the_sort_of F(b)) &
F(s,b)
= ((f
. s)
. b) by
A0,
A1,
SORT;
hence a
in (the
Sorts of T2()
. s) by
A3,
SORT;
end;
hence (f
. i) is
Function of (the
Sorts of T1()
. i), (the
Sorts of T2()
. i) by
A2,
FUNCT_2: 2;
end;
then
reconsider f as
ManySortedFunction of T1(), T2();
take f;
let t be
Element of T1();
A4: t
in (the
Sorts of T1()
. (
the_sort_of t)) by
SORT;
thus (f
. t)
= ((f
. (
the_sort_of t))
. t) by
ABBR
.= F(t) by
A1,
A4;
end;
theorem ::
MSAFREE5:126
Th86: ex g be
Endomorphism of T st ((
canonical_homomorphism T)
** h)
= (g
** (
canonical_homomorphism T)) & for t be
Element of T holds (g
. t)
= ((
canonical_homomorphism T)
. (h
. (
@ t)))
proof
set H = (
canonical_homomorphism T);
H
is_homomorphism ((
Free (S,X)),T) & h
is_homomorphism ((
Free (S,X)),(
Free (S,X))) by
MSUALG_6:def 2,
MSAFREE4:def 10;
then
consider g be
ManySortedFunction of T, T such that
A1: g
is_homomorphism (T,T) & (H
** h)
= (g
** H) by
MSAFREE4: 65,
MSUALG_3: 10;
reconsider g as
Endomorphism of T by
A1,
MSUALG_6:def 2;
take g;
thus (H
** h)
= (g
** H) by
A1;
let t be
Element of T;
thus (g
. t)
= (g
. (H
. (
@ t)))
.= ((g
** H)
. (
@ t)) by
Th14
.= ((
canonical_homomorphism T)
. (h
. (
@ t))) by
A1,
Th14;
end;
theorem ::
MSAFREE5:127
((
canonical_homomorphism T)
. (h
. t))
= ((
canonical_homomorphism T)
. (h
. (
@ ((
canonical_homomorphism T)
. t))))
proof
set H = (
canonical_homomorphism T);
consider g be
Endomorphism of T such that
A1: (H
** h)
= (g
** H) & for t be
Element of T holds (g
. t)
= (H
. (h
. (
@ t))) by
Th86;
thus (H
. (h
. t))
= ((H
** h)
. t) by
Th14
.= (g
. (H
. t)) by
A1,
Th14
.= (H
. (h
. (
@ (H
. t)))) by
A1;
end;
begin
definition
let S;
let B be non
empty
FinSequence of the
carrier of S;
let i be
Element of (
dom B);
:: original:
.
redefine
func B
. i ->
SortSymbol of S ;
coherence by
PARTFUN1: 4;
end
definition
let S, X;
let B be
FinSequence of the
carrier of S;
let V be
FinSequence of (
Union X);
::
MSAFREE5:def36
attr V is B
-sorts means
:
SORTS: (
dom V)
= (
dom B) & for i st i
in (
dom B) holds (V
. i)
in (X
. (B
. i));
end
registration
let S, X;
let B be
FinSequence of the
carrier of S;
cluster B
-sorts for
FinSequence of (
Union X);
existence
proof
set V = the
Element of (
product (X
* B));
A0: (
rng B)
c= the
carrier of S
= (
dom X) by
FINSEQ_1:def 4,
PARTFUN1:def 2;
A1: (
dom (X
* B))
= (
dom B) by
PARTFUN1:def 2;
A2: (
dom V)
= (
dom B)
= (
Seg (
len B)) by
PARTFUN1:def 2,
FINSEQ_1:def 3;
then
reconsider V as
FinSequence by
FINSEQ_1:def 2;
(
rng V)
c= (
Union X)
proof
let a;
assume a
in (
rng V);
then
consider i be
object such that
A3: i
in (
dom V) & a
= (V
. i) by
FUNCT_1:def 3;
reconsider i as
Nat by
A3;
((X
* B)
. i)
= (X
. (B
. i)) by
A2,
A3,
FUNCT_1: 13;
then (V
. i)
in (X
. (B
. i)) & (B
. i)
in the
carrier of S by
A1,
A2,
A3,
CARD_3: 9,
FUNCT_1: 102;
hence a
in (
Union X) by
A0,
A3,
CARD_5: 2;
end;
then
reconsider V as
FinSequence of (
Union X) by
FINSEQ_1:def 4;
take V;
thus (
dom V)
= (
dom B) by
PARTFUN1:def 2;
let i;
assume
A4: i
in (
dom B);
then ((X
* B)
. i)
= (X
. (B
. i)) by
FUNCT_1: 13;
hence (V
. i)
in (X
. (B
. i)) by
A1,
A4,
CARD_3: 9;
end;
end
registration
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
cluster B
-sorts -> non
empty for
FinSequence of (
Union X);
coherence ;
end
definition
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
let V be B
-sorts
FinSequence of (
Union X);
let i be
Element of (
dom B);
:: original:
.
redefine
func V
. i ->
Element of (X
. (B
. i)) ;
coherence by
SORTS;
end
definition
let S, X;
let B be
FinSequence of the
carrier of S;
let D be
FinSequence of (
Free (S,X));
::
MSAFREE5:def37
attr D is B
-sorts means
:
SORTS2: (
dom D)
= (
dom B) & for i st i
in (
dom B) holds (D
. i)
in (the
Sorts of (
Free (S,X))
. (B
. i));
end
registration
let S, X;
let B be
FinSequence of the
carrier of S;
cluster B
-sorts for
FinSequence of (
Free (S,X));
existence
proof
set V = the
Element of (
product (the
Sorts of (
Free (S,X))
* B));
A0: (
rng B)
c= the
carrier of S
= (
dom the
Sorts of (
Free (S,X))) by
FINSEQ_1:def 4,
PARTFUN1:def 2;
A1: (
dom (the
Sorts of (
Free (S,X))
* B))
= (
dom B) by
PARTFUN1:def 2;
A2: (
dom V)
= (
dom B)
= (
Seg (
len B)) by
PARTFUN1:def 2,
FINSEQ_1:def 3;
then
reconsider V as
FinSequence by
FINSEQ_1:def 2;
(
rng V)
c= (
Union the
Sorts of (
Free (S,X)))
proof
let a;
assume a
in (
rng V);
then
consider i be
object such that
A3: i
in (
dom V) & a
= (V
. i) by
FUNCT_1:def 3;
reconsider i as
Nat by
A3;
((the
Sorts of (
Free (S,X))
* B)
. i)
= (the
Sorts of (
Free (S,X))
. (B
. i)) by
A2,
A3,
FUNCT_1: 13;
then (V
. i)
in (the
Sorts of (
Free (S,X))
. (B
. i)) & (B
. i)
in the
carrier of S by
A1,
A2,
A3,
CARD_3: 9,
FUNCT_1: 102;
hence a
in (
Union the
Sorts of (
Free (S,X))) by
A0,
A3,
CARD_5: 2;
end;
then
reconsider V as
FinSequence of (
Union the
Sorts of (
Free (S,X))) by
FINSEQ_1:def 4;
take V;
thus (
dom V)
= (
dom B) by
PARTFUN1:def 2;
let i;
assume
A4: i
in (
dom B);
then ((the
Sorts of (
Free (S,X))
* B)
. i)
= (the
Sorts of (
Free (S,X))
. (B
. i)) by
FUNCT_1: 13;
hence (V
. i)
in (the
Sorts of (
Free (S,X))
. (B
. i)) by
A1,
A4,
CARD_3: 9;
end;
end
registration
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
cluster B
-sorts -> non
empty for
FinSequence of (
Free (S,X));
coherence ;
end
definition
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
let D be B
-sorts
FinSequence of (
Free (S,X));
let i be
Element of (
dom B);
:: original:
.
redefine
func D
. i ->
Element of (the
Sorts of (
Free (S,X))
. (B
. i)) ;
coherence by
SORTS2;
end
definition
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
let V be B
-sorts
FinSequence of (
Union X);
let F be
FinSequence of (
Free (S,X));
::
MSAFREE5:def38
attr F is V
-context-sequence means
:
CONTEXTSEQ: (
dom F)
= (
dom B) & for i be
Element of (
dom B) holds (F
. i) is
context of (V
. i);
end
registration
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
let V be B
-sorts
FinSequence of (
Union X);
cluster V
-context-sequence -> non
empty for
FinSequence of (
Free (S,X));
coherence ;
end
scheme ::
MSAFREE5:sch6
FinSeqLambda { B() -> non
empty
FinSequence , F(
set) ->
object } :
ex p be non
empty
FinSequence st (
dom p)
= (
dom B()) & for i be
Element of (
dom B()) holds (p
. i)
= F(i);
consider p be
FinSequence such that
A1: (
len p)
= (
len B()) & for i be
natural
set st i
in (
dom p) holds (p
. i)
= F(i) from
FINSEQ_1:sch 2;
A2: (
dom p)
= (
dom B()) by
A1,
FINSEQ_3: 29;
reconsider p as non
empty
FinSequence by
A1;
take p;
thus thesis by
A2,
A1;
end;
scheme ::
MSAFREE5:sch7
FinSeqRecLambda { B() -> non
empty
FinSequence , A() ->
object , F(
object,
object) ->
set } :
ex p be non
empty
FinSequence st (
dom p)
= (
dom B()) & (p
. 1)
= A() & for i,j be
Element of (
dom B()) st j
= (i
+ 1) holds (p
. j)
= F(i,.);
defpred
P[
object,
object,
object] means $3
= F($1,$2);
A0: for n be
Nat st 1
<= n & n
< (
len B()) holds for x be
set holds ex y be
set st
P[n, x, y];
consider p be
FinSequence such that
A1: (
len p)
= (
len B()) & ((p
. 1)
= A() or (
len B())
=
0 ) & for i be
natural
set st 1
<= i
< (
len B()) holds
P[i, (p
. i), (p
. (i
+ 1))] from
RECDEF_1:sch 3(
A0);
reconsider p as non
empty
FinSequence by
A1;
take p;
thus (
dom p)
= (
dom B()) by
A1,
FINSEQ_3: 29;
thus (p
. 1)
= A() by
A1;
let i,j be
Element of (
dom B());
assume
A3: j
= (i
+ 1);
then (i
+ 1)
<= (
len B()) by
FINSEQ_3: 25;
then 1
<= i
< (
len B()) by
NAT_1: 13,
FINSEQ_3: 25;
hence thesis by
A3,
A1;
end;
scheme ::
MSAFREE5:sch8
FinSeqRec2Lambda { B() -> non
empty
FinSequence , A() ->
DecoratedTree , F(
object,
DecoratedTree) ->
DecoratedTree } :
ex p be non
empty
DTree-yielding
FinSequence st (
dom p)
= (
dom B()) & (p
. 1)
= A() & for i,j be
Element of (
dom B()) st j
= (i
+ 1) holds for d be
DecoratedTree st d
= (p
. i) holds (p
. j)
= F(i,d);
defpred
P[
object,
object,
object] means for d be
DecoratedTree st d
= $2 holds $3
= F($1,d);
A0: for n be
Nat st 1
<= n & n
< (
len B()) holds for x be
set holds ex y be
set st
P[n, x, y]
proof
let n be
Nat;
assume 1
<= n;
assume n
< (
len B());
let x be
set;
per cases ;
suppose x is
DecoratedTree;
then
reconsider xx = x as
DecoratedTree;
take y = F(n,xx);
thus
P[n, x, y];
end;
suppose
A4: not x is
DecoratedTree;
take y =
0 ;
thus
P[n, x, y] by
A4;
end;
end;
consider p be
FinSequence such that
A1: (
len p)
= (
len B()) & ((p
. 1)
= A() or (
len B())
=
0 ) & for i be
natural
set st 1
<= i
< (
len B()) holds
P[i, (p
. i), (p
. (i
+ 1))] from
RECDEF_1:sch 3(
A0);
reconsider p as non
empty
FinSequence by
A1;
p is
DTree-yielding
proof
let a;
assume a
in (
rng p);
then
consider b such that
A5: b
in (
dom p) & a
= (p
. b) by
FUNCT_1:def 3;
reconsider b as
Element of (
dom B()) by
A5,
A1,
FINSEQ_3: 29;
defpred
Q[
Nat] means $1
in (
dom B()) implies (p
. $1) is
DecoratedTree;
A6:
Q[1] by
A1;
A7: for i st i
>= 1 &
Q[i] holds
Q[(i
+ 1)]
proof
let i;
assume
A8: i
>= 1 &
Q[i] & (i
+ 1)
in (
dom B());
then
AC: (i
+ 1)
<= (
len B()) by
FINSEQ_3: 25;
then i
< (
len B()) by
NAT_1: 13;
then
reconsider px = (p
. i) as
DecoratedTree by
A8,
FINSEQ_3: 25;
(p
. (i
+ 1))
= F(i,px) by
A1,
A8,
AC,
NAT_1: 13;
hence thesis;
end;
for i st i
>= 1 holds
Q[i] from
NAT_1:sch 8(
A6,
A7);
then b
>= 1 implies a is
DecoratedTree by
A5;
hence thesis by
FINSEQ_3: 25;
end;
then
reconsider p as
DTree-yielding non
empty
FinSequence;
take p;
thus (
dom p)
= (
dom B()) by
A1,
FINSEQ_3: 29;
thus (p
. 1)
= A() by
A1;
let i,j be
Element of (
dom B());
assume
A3: j
= (i
+ 1);
then (i
+ 1)
<= (
len B()) by
FINSEQ_3: 25;
then 1
<= i
< (
len B()) by
NAT_1: 13,
FINSEQ_3: 25;
hence thesis by
A3,
A1;
end;
registration
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
let V be B
-sorts
FinSequence of (
Union X);
cluster V
-context-sequence for
FinSequence of (
Free (S,X));
existence
proof
deffunc
F(
Element of (
dom B)) = ((V
. $1)
-term );
consider C be non
empty
FinSequence such that
A1: (
dom C)
= (
dom B) & for i be
Element of (
dom B) holds (C
. i)
=
F(i) from
FinSeqLambda;
(
rng C)
c= (
Union the
Sorts of (
Free (S,X)))
proof
let a;
assume a
in (
rng C);
then
consider i be
object such that
A3: i
in (
dom C) & a
= (C
. i) by
FUNCT_1:def 3;
reconsider i as
Element of (
dom B) by
A1,
A3;
reconsider t = ((V
. i)
-term ) as
Element of (
Free (S,X));
(C
. i)
= t & (
the_sort_of t)
= (B
. i) by
A1,
SORT;
hence a
in (
Union the
Sorts of (
Free (S,X))) by
A3;
end;
then
reconsider C as
FinSequence of (
Union the
Sorts of (
Free (S,X))) by
FINSEQ_1:def 4;
take C;
thus (
dom C)
= (
dom B) by
A1;
let i be
Element of (
dom B);
(C
. i)
= ((V
. i)
-term ) by
A1;
hence thesis;
end;
end
definition
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
let V be B
-sorts
FinSequence of (
Union X);
let F be V
-context-sequence
FinSequence of (
Free (S,X));
let i be
Element of (
dom B);
:: original:
.
redefine
func F
. i ->
context of (V
. i) ;
coherence by
CONTEXTSEQ;
end
definition
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
let V1,V2 be B
-sorts
FinSequence of (
Union X);
::
MSAFREE5:def39
attr V2 is V1
-omitting means
:
OMIT2: (
rng V1)
misses (
rng V2);
let D be B
-sorts
FinSequence of (
Free (S,X));
let F be V2
-context-sequence
FinSequence of (
Free (S,X));
::
MSAFREE5:def40
attr F is V1,V2,D
-consequent-context-sequence means for i,j be
Element of (
dom B) st (i
+ 1)
= j holds ((F
. j)
-sub ((V1
. j)
-term ))
= ((F
. i)
-sub (D
. i));
end
definition
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
let D be B
-sorts
FinSequence of (
Free (S,X));
let V be B
-sorts
FinSequence of (
Union X);
::
MSAFREE5:def41
attr V is D
-omitting means t
in (
rng D) implies (
vf t)
misses (
rng V);
end
theorem ::
MSAFREE5:128
OMIT4: for S, X holds for B be non
empty
FinSequence of the
carrier of S holds for D be B
-sorts
FinSequence of (
Free (S,X)) holds for V be B
-sorts
FinSequence of (
Union X) st V is D
-omitting holds for b1,b2 be
Element of (
dom B) holds (D
. b1) is (V
. b2)
-omitting
proof
let S, X;
let B be non
empty
FinSequence of the
carrier of S;
let D be B
-sorts
FinSequence of (
Free (S,X));
let V be B
-sorts
FinSequence of (
Union X);
assume
Z0: V is D
-omitting;
let b1,b2 be
Element of (
dom B);
(
dom D)
= (
dom B) & (
dom V)
= (
dom B) by
SORTS,
SORTS2;
then (D
. b1)
in (
rng D) & (V
. b2)
in (
rng V) by
FUNCT_1:def 3;
then (V
. b2)
nin (
vf (D
. b1)) by
Z0,
XBOOLE_0: 3;
hence (D
. b1) is (V
. b2)
-omitting by
Th92;
end;
registration
let S, Y;
let B be non
empty
FinSequence of the
carrier of S;
let V be B
-sorts
FinSequence of (
Union Y);
let D be B
-sorts
FinSequence of (
Free (S,Y));
cluster
one-to-oneV
-omittingD
-omitting for B
-sorts
FinSequence of (
Union Y);
existence
proof
set N = { (
vf v) : v
in (
rng D) };
deffunc
F(
Element of (
Free (S,Y))) = (
vf $1);
A0: (
rng D) is
finite;
A1: {
F(v) : v
in (
rng D) } is
finite from
FRAENKEL:sch 21(
A0);
A3: N is
finite-membered
proof
let a be
set;
assume a
in N;
then ex v st a
=
F(v) & v
in (
rng D);
hence thesis;
end;
deffunc
G(
Element of (
dom B),
set) = (
{ the
Element of ((Y
. (B
. ($1
+ 1)))
\ (((
union N)
\/ (
rng V))
\/ $2))}
\/ $2);
consider g be non
empty
FinSequence such that
A2: (
dom g)
= (
dom B) & (g
. 1)
=
{ the
Element of ((Y
. (B
. 1))
\ ((
union N)
\/ (
rng V)))} & for i,j be
Element of (
dom B) st j
= (i
+ 1) holds (g
. j)
=
G(i,.) from
FinSeqRecLambda;
deffunc
F(
Element of (
dom B),
set) = (
union ((g
. ($1
+ 1))
\ (g
. $1)));
consider f be non
empty
FinSequence such that
AA: (
dom f)
= (
dom B) & (f
. 1)
= (
union (g
. 1)) & for i,j be
Element of (
dom B) st j
= (i
+ 1) holds (f
. j)
=
F(i,.) from
FinSeqRecLambda;
defpred
P[
Nat] means $1
in (
dom B) implies (g
. $1) is
finite;
B1:
P[1] by
A2;
B2: for i st i
>= 1 &
P[i] holds
P[(i
+ 1)]
proof
let i;
assume
B4: i
>= 1 &
P[i] & (i
+ 1)
in (
dom B);
then i
<= (i
+ 1)
<= (
len B) by
NAT_1: 12,
FINSEQ_3: 25;
then i
<= (
len B) by
XXREAL_0: 2;
then
reconsider i as
Element of (
dom B) by
B4,
FINSEQ_3: 25;
(g
. (i
+ 1))
=
G(i,.) & (g
. i) is
finite by
B4,
A2;
hence thesis;
end;
B3: for i st i
>= 1 holds
P[i] from
NAT_1:sch 8(
B1,
B2);
defpred
Q[
Nat] means ($1
+ 1)
in (
dom B) implies (g
. ($1
+ 1))
= (
{(f
. ($1
+ 1))}
\/ (g
. $1)) & (f
. ($1
+ 1))
nin (g
. $1) & (f
. ($1
+ 1))
= the
Element of ((Y
. (B
. ($1
+ 1)))
\ (((
union N)
\/ (
rng V))
\/ (g
. $1)));
C1:
Q[1]
proof
assume
C2: (1
+ 1)
in (
dom B);
then (1
+ 1)
<= (
len B) by
FINSEQ_3: 25;
then 1
<= (
len B) by
XXREAL_0: 2;
then
reconsider i = 1, j = (1
+ 1) as
Element of (
dom B) by
C2,
FINSEQ_3: 25;
reconsider gi = (g
. i) as
finite
set by
A2;
set x = the
Element of ((Y
. (B
. j))
\ (((
union N)
\/ (
rng V))
\/ gi));
C6: x
nin (((
union N)
\/ (
rng V))
\/ gi) by
A1,
A3,
XBOOLE_0:def 5;
then
C3: x
nin (g
. i) by
XBOOLE_0:def 3;
(g
. 2)
=
G(i,.)
= (
{x}
\/ (g
. 1)) & (f
. 2)
=
F(i,.)
= (
union ((g
. (i
+ 1))
\ (g
. i))) by
A2,
AA,
C2;
then (f
. 2)
= (
union
{x})
= x by
C3,
EXCHSORT: 3;
hence thesis by
C6,
A2,
XBOOLE_0:def 3;
end;
C5: for i st i
>= 1 &
Q[i] holds
Q[(i
+ 1)]
proof
let i;
assume
Z0: i
>= 1;
assume
Q[i];
assume
Z2: ((i
+ 1)
+ 1)
in (
dom B);
then (i
+ 1)
<= ((i
+ 1)
+ 1)
<= (
len B) by
NAT_1: 12,
FINSEQ_3: 25;
then
C6: 1
<= (i
+ 1)
<= (
len B) by
NAT_1: 12,
XXREAL_0: 2;
then
reconsider j2 = ((i
+ 1)
+ 1), j = (1
+ i) as
Element of (
dom B) by
Z2,
FINSEQ_3: 25;
i
<= (i
+ 1) by
NAT_1: 12;
then i
<= (
len B) by
C6,
XXREAL_0: 2;
then i
in (
dom B) by
Z0,
FINSEQ_3: 25;
then
reconsider gi = (g
. i), gj = (g
. j) as
finite
set by
B3,
FINSEQ_3: 25;
set x = the
Element of ((Y
. (B
. j2))
\ (((
union N)
\/ (
rng V))
\/ gj));
C7: x
nin (((
union N)
\/ (
rng V))
\/ gj) by
A1,
A3,
XBOOLE_0:def 5;
then
C3: x
nin (g
. j) by
XBOOLE_0:def 3;
(g
. j2)
=
G(j,.)
= (
{x}
\/ (g
. j)) & (f
. j2)
=
F(j,.)
= (
union ((g
. (j
+ 1))
\ (g
. j))) by
A2,
AA;
then (f
. j2)
= (
union
{x})
= x by
C3,
EXCHSORT: 3;
hence thesis by
C7,
A2,
XBOOLE_0:def 3;
end;
C7: for i st i
>= 1 holds
Q[i] from
NAT_1:sch 8(
C1,
C5);
C6:
now
let i be
Element of (
dom B);
i
>= 1 by
FINSEQ_3: 25;
hence (i
+ 1)
in (
dom B) implies (g
. (i
+ 1))
= (
{(f
. (i
+ 1))}
\/ (g
. i)) & (f
. (i
+ 1))
nin (g
. i) & (f
. (i
+ 1))
= the
Element of ((Y
. (B
. (i
+ 1)))
\ (((
union N)
\/ (
rng V))
\/ (g
. i))) by
C7;
end;
(
rng f)
c= (
Union Y)
proof
let a;
assume a
in (
rng f);
then
consider b such that
A5: b
in (
dom f) & a
= (f
. b) by
FUNCT_1:def 3;
reconsider b as
Element of (
dom B) by
AA,
A5;
b
>= 1 by
FINSEQ_3: 25;
per cases by
XXREAL_0: 1;
suppose b
= 1;
then a
in (Y
. (B
. b)) & (B
. b)
in the
carrier of S
= (
dom Y) by
A1,
A2,
A3,
AA,
A5,
XBOOLE_0:def 5,
PARTFUN1:def 2;
hence thesis by
CARD_5: 2;
end;
suppose b
> 1;
then b
>= (1
+ 1) by
NAT_1: 13;
then
consider c be
Nat such that
D1: b
= ((1
+ 1)
+ c) by
NAT_1: 10;
D2: b
= ((1
+ c)
+ 1) by
D1;
then (
len B)
>= b
> (1
+ c) by
NAT_1: 13,
FINSEQ_3: 25;
then (
len B)
>= (1
+ c)
>= 1 by
NAT_1: 12,
XXREAL_0: 2;
then
reconsider c1 = (1
+ c) as
Element of (
dom B) by
FINSEQ_3: 25;
(g
. c1) is
finite by
B3,
FINSEQ_3: 25;
then a
= the
Element of ((Y
. (B
. b))
\ (((
union N)
\/ (
rng V))
\/ (g
. c1))) & ((Y
. (B
. b))
\ (((
union N)
\/ (
rng V))
\/ (g
. c1)))
<>
{} by
C6,
A1,
A3,
D2,
A5;
then a
in (Y
. (B
. b)) & (B
. b)
in the
carrier of S
= (
dom Y) by
XBOOLE_0:def 5,
PARTFUN1:def 2;
hence thesis by
CARD_5: 2;
end;
end;
then
reconsider f as
FinSequence of (
Union Y) by
FINSEQ_1:def 4;
E0: for i,j be
Element of (
dom B) st i
<= j holds (g
. i)
c= (g
. j)
proof
let i,j be
Element of (
dom B);
defpred
R[
Nat] means $1
in (
dom B) implies (g
. i)
c= (g
. $1);
E1:
R[i];
E2: for j st j
>= i &
R[j] holds
R[(j
+ 1)]
proof
let j;
assume
E3: j
>= i &
R[j] & (j
+ 1)
in (
dom B);
then (
len B)
>= (j
+ 1)
>= j & i
>= 1 by
NAT_1: 12,
FINSEQ_3: 25;
then
E4: (
len B)
>= j
>= 1 by
E3,
XXREAL_0: 2;
then j
in (
dom B) by
FINSEQ_3: 25;
then (g
. (j
+ 1))
= (
{(f
. (j
+ 1))}
\/ (g
. j)) by
C6,
E3;
then (g
. i)
c= (g
. j)
c= (g
. (j
+ 1)) by
E3,
E4,
XBOOLE_1: 7,
FINSEQ_3: 25;
hence thesis;
end;
for j st j
>= i holds
R[j] from
NAT_1:sch 8(
E1,
E2);
hence thesis;
end;
F0: for i,j be
Element of (
dom B) st i
< j holds (f
. j)
nin (g
. i) & (f
. j)
in (g
. j)
proof
let i,j be
Element of (
dom B);
assume i
< j;
then (i
+ 1)
<= j by
NAT_1: 13;
then
consider k be
Nat such that
E5: j
= ((i
+ 1)
+ k) by
NAT_1: 10;
E6: j
= ((i
+ k)
+ 1) by
E5;
(
len B)
>= ((i
+ k)
+ 1) by
E5,
FINSEQ_3: 25;
then (
len B)
> (i
+ k)
>= i
>= 1 by
NAT_1: 12,
NAT_1: 13,
FINSEQ_3: 25;
then (
len B)
>= (i
+ k)
>= 1 by
XXREAL_0: 2;
then
reconsider ik = (i
+ k) as
Element of (
dom B) by
FINSEQ_3: 25;
(g
. i)
c= (g
. ik) & (f
. j)
nin (g
. ik) & (g
. j)
= (
{(f
. j)}
\/ (g
. ik)) by
C6,
E6,
E0,
NAT_1: 12;
hence thesis by
ZFMISC_1: 136;
end;
F1: for b be
Element of (
dom B) holds (f
. b)
in (g
. b)
proof
let b be
Element of (
dom B);
b
>= 1 by
FINSEQ_3: 25;
per cases by
XXREAL_0: 1;
suppose b
= 1;
hence thesis by
AA,
A2,
TARSKI:def 1;
end;
suppose
D0: b
> 1;
b
<= (
len B) by
FINSEQ_3: 25;
then 1
<= (
len B) by
D0,
XXREAL_0: 2;
then
reconsider c1 = 1 as
Element of (
dom B) by
FINSEQ_3: 25;
c1
< b by
D0;
hence thesis by
F0;
end;
end;
f is B
-sorts
proof
thus (
dom f)
= (
dom B) by
AA;
let i;
assume i
in (
dom B);
then
reconsider j = i as
Element of (
dom B);
j
>= 1 by
FINSEQ_3: 25;
per cases by
XXREAL_0: 1;
suppose i
= 1;
then (f
. i)
= (
union
{ the
Element of ((Y
. (B
. j))
\ ((
union N)
\/ (
rng V)))}) & ((Y
. (B
. j))
\ ((
union N)
\/ (
rng V)))
<>
{} by
AA,
A1,
A2,
A3;
hence (f
. i)
in (Y
. (B
. i)) by
XBOOLE_0:def 5;
end;
suppose i
> 1;
then i
>= (1
+ 1) by
NAT_1: 13;
then
consider c be
Nat such that
D1: i
= ((1
+ 1)
+ c) by
NAT_1: 10;
D2: j
= ((1
+ c)
+ 1) by
D1;
then (
len B)
>= j
> (1
+ c) by
NAT_1: 13,
FINSEQ_3: 25;
then (
len B)
>= (1
+ c)
>= 1 by
NAT_1: 12,
XXREAL_0: 2;
then
reconsider c1 = (1
+ c) as
Element of (
dom B) by
FINSEQ_3: 25;
(g
. c1) is
finite by
B3,
FINSEQ_3: 25;
then (f
. j)
= the
Element of ((Y
. (B
. j))
\ (((
union N)
\/ (
rng V))
\/ (g
. c1))) & ((Y
. (B
. j))
\ (((
union N)
\/ (
rng V))
\/ (g
. c1)))
<>
{} by
C6,
A1,
A3,
D2;
hence (f
. i)
in (Y
. (B
. i)) by
XBOOLE_0:def 5;
end;
end;
then
reconsider f as B
-sorts
FinSequence of (
Union Y);
take f;
thus f is
one-to-one
proof
let a, b;
assume
F2: a
in (
dom f) & b
in (
dom f) & (f
. a)
= (f
. b) & a
<> b;
then
reconsider a, b as
Element of (
dom B) by
AA;
a
< b or b
< a by
F2,
XXREAL_0: 1;
then (f
. b)
in (g
. a) & (f
. b)
nin (g
. a) or (f
. a)
in (g
. b) & (f
. a)
nin (g
. b) by
F0,
F1,
F2;
hence thesis;
end;
now
let a;
assume a
in (
rng f);
then
consider b such that
A5: b
in (
dom f) & a
= (f
. b) by
FUNCT_1:def 3;
reconsider b as
Element of (
dom B) by
AA,
A5;
1
<= b by
FINSEQ_3: 25;
per cases by
XXREAL_0: 1;
suppose b
= 1;
then a
= (
union
{ the
Element of ((Y
. (B
. b))
\ ((
union N)
\/ (
rng V)))}) & ((Y
. (B
. b))
\ ((
union N)
\/ (
rng V)))
<>
{} by
AA,
A1,
A2,
A3,
A5;
hence a
nin ((
union N)
\/ (
rng V)) by
XBOOLE_0:def 5;
end;
suppose b
> 1;
then b
>= (1
+ 1) by
NAT_1: 13;
then
consider c be
Nat such that
D1: b
= ((1
+ 1)
+ c) by
NAT_1: 10;
D2: b
= ((1
+ c)
+ 1) by
D1;
then (
len B)
>= b
> (1
+ c) by
NAT_1: 13,
FINSEQ_3: 25;
then (
len B)
>= (1
+ c)
>= 1 by
NAT_1: 12,
XXREAL_0: 2;
then
reconsider c1 = (1
+ c) as
Element of (
dom B) by
FINSEQ_3: 25;
(g
. c1) is
finite by
B3,
FINSEQ_3: 25;
then a
= the
Element of ((Y
. (B
. b))
\ (((
union N)
\/ (
rng V))
\/ (g
. c1))) & ((Y
. (B
. b))
\ (((
union N)
\/ (
rng V))
\/ (g
. c1)))
<>
{} by
C6,
A1,
A3,
D2,
A5;
then a
nin (((
union N)
\/ (
rng V))
\/ (g
. c1)) by
XBOOLE_0:def 5;
hence a
nin ((
union N)
\/ (
rng V)) by
XBOOLE_0:def 3;
end;
end;
then
A4: (
rng f)
misses ((
union N)
\/ (
rng V)) by
XBOOLE_0: 3;
thus (
rng V)
misses (
rng f) by
A4,
XBOOLE_1: 7,
XBOOLE_1: 63;
let t be
Element of (
Free (S,Y));
assume t
in (
rng D);
then (
vf t)
in N;
then (
vf t)
c= (
union N) by
ZFMISC_1: 74;
hence thesis by
A4,
XBOOLE_1: 10,
XBOOLE_1: 63;
end;
end
definition
let S, X, t;
::
MSAFREE5:def42
mode
vf-sequence of t ->
FinSequence means
:
VFS: ex f be
one-to-one
FinSequence st (
rng f)
= { xi where xi be
Element of (
dom t) : ex s, x st (t
. xi)
=
[x, s] } & (
dom it )
= (
dom f) & for i st i
in (
dom it ) holds (it
. i)
= (t
. (f
. i));
existence
proof
set I = { xi where xi be
Element of (
dom t) : ex s, x st (t
. xi)
=
[x, s] };
I
c= (
dom t)
proof
let a;
assume a
in I;
then ex xi be
Element of (
dom t) st a
= xi & ex s, x st (t
. xi)
=
[x, s];
hence thesis;
end;
then
consider f be
FinSequence such that
A1: (
rng f)
= I & f is
one-to-one by
FINSEQ_4: 58;
reconsider f as
one-to-one
FinSequence by
A1;
deffunc
F(
object) = (t
. (f
. $1));
consider V be
FinSequence such that
A2: (
len V)
= (
len f) & for i st i
in (
dom V) holds (V
. i)
=
F(i) from
FINSEQ_1:sch 2;
take V, f;
thus (
rng f)
= I by
A1;
thus (
dom V)
= (
dom f) by
A2,
FINSEQ_3: 29;
thus thesis by
A2;
end;
end
registration
let f be
FinSequence;
cluster (
pr1 f) ->
FinSequence-like;
coherence
proof
(
dom (
pr1 f))
= (
dom f)
= (
Seg (
len f)) by
MCART_1:def 12,
FINSEQ_1:def 3;
hence thesis by
FINSEQ_1:def 2;
end;
cluster (
pr2 f) ->
FinSequence-like;
coherence
proof
(
dom (
pr2 f))
= (
dom f)
= (
Seg (
len f)) by
MCART_1:def 13,
FINSEQ_1:def 3;
hence thesis by
FINSEQ_1:def 2;
end;
end
theorem ::
MSAFREE5:129
Th96: for f be
vf-sequence of t holds (
pr2 f) is
FinSequence of the
carrier of S
proof
let f be
vf-sequence of t;
consider g be
one-to-one
FinSequence such that
A1: (
rng g)
= { xi where xi be
Element of (
dom t) : ex s, x st (t
. xi)
=
[x, s] } & (
dom f)
= (
dom g) & for i st i
in (
dom f) holds (f
. i)
= (t
. (g
. i)) by
VFS;
let a;
assume a
in (
rng (
pr2 f));
then
consider b such that
A2: b
in (
dom (
pr2 f)) & a
= ((
pr2 f)
. b) by
FUNCT_1:def 3;
reconsider b as
Nat by
A2;
A3: (
dom (
pr2 f))
= (
dom f) by
MCART_1:def 13;
then (g
. b)
in (
rng g) by
A1,
A2,
FUNCT_1:def 3;
then
consider xi be
Element of (
dom t) such that
A4: (g
. b)
= xi & ex s, x st (t
. xi)
=
[x, s] by
A1;
consider s, x such that
A5: (t
. xi)
=
[x, s] by
A4;
a
= ((f
. b)
`2 ) by
A2,
A3,
MCART_1:def 13
.= (
[x, s]
`2 ) by
A1,
A2,
A3,
A4,
A5
.= s;
hence a
in the
carrier of S;
end;
theorem ::
MSAFREE5:130
Th97: for f be
vf-sequence of t, B be
FinSequence of the
carrier of S st B
= (
pr2 f) holds (
pr1 f) is B
-sorts
FinSequence of (
Union X)
proof
let f be
vf-sequence of t;
let B be
FinSequence of the
carrier of S;
assume
Z0: B
= (
pr2 f);
consider g be
one-to-one
FinSequence such that
A1: (
rng g)
= { xi where xi be
Element of (
dom t) : ex s, x st (t
. xi)
=
[x, s] } & (
dom f)
= (
dom g) & for i st i
in (
dom f) holds (f
. i)
= (t
. (g
. i)) by
VFS;
(
pr1 f) is
FinSequence of (
Union X)
proof
let a;
assume a
in (
rng (
pr1 f));
then
consider b such that
A2: b
in (
dom (
pr1 f)) & a
= ((
pr1 f)
. b) by
FUNCT_1:def 3;
reconsider b as
Nat by
A2;
A3: (
dom (
pr1 f))
= (
dom f) by
MCART_1:def 12;
then (g
. b)
in (
rng g) by
A1,
A2,
FUNCT_1:def 3;
then
consider xi be
Element of (
dom t) such that
A4: (g
. b)
= xi & ex s, x st (t
. xi)
=
[x, s] by
A1;
consider s, x such that
A5: (t
. xi)
=
[x, s] by
A4;
a
= ((f
. b)
`1 ) by
A2,
A3,
MCART_1:def 12
.= (
[x, s]
`1 ) by
A1,
A2,
A3,
A4,
A5;
hence a
in (
Union X);
end;
then
reconsider V = (
pr1 f) as
FinSequence of (
Union X);
V is B
-sorts
proof
A6: (
dom V)
= (
dom f)
= (
dom B) by
Z0,
MCART_1:def 12,
MCART_1:def 13;
hence (
dom V)
= (
dom B);
let i;
assume
A7: i
in (
dom B);
then (g
. i)
in (
rng g) by
A1,
A6,
FUNCT_1:def 3;
then
consider xi be
Element of (
dom t) such that
A4: (g
. i)
= xi & ex s, x st (t
. xi)
=
[x, s] by
A1;
consider s, x such that
A5: (t
. xi)
=
[x, s] by
A4;
(B
. i)
= ((f
. i)
`2 ) & (V
. i)
= ((f
. i)
`1 ) & (f
. i)
=
[x, s] by
Z0,
A1,
A4,
A5,
A6,
A7,
MCART_1:def 12,
MCART_1:def 13;
hence (V
. i)
in (X
. (B
. i));
end;
hence (
pr1 f) is B
-sorts
FinSequence of (
Union X);
end;
registration
let f be non
empty
FinSequence;
reduce (
In (1,(
dom f))) to 1;
reducibility by
FINSEQ_5: 6,
SUBSET_1:def 8;
reduce (
In ((
len f),(
dom f))) to (
len f);
reducibility by
SUBSET_1:def 8,
FINSEQ_5: 6;
end
theorem ::
MSAFREE5:131
Th117: for xi be
Element of (
dom t) st (t
. xi)
=
[x, s] holds (
the_sort_of t1)
= s implies (t
with-replacement (xi,t1)) is
Element of (
Free (S,X)), (
the_sort_of t)
proof
let xi be
Element of (
dom t);
assume
Z0: (t
. xi)
=
[x, s];
assume
Z1: (
the_sort_of t1)
= s;
defpred
P[
Element of (
Free (S,X))] means for xi be
Element of (
dom $1) holds for x1, t st ($1
. xi)
=
[x1, s] & t
= $1 holds ($1
with-replacement (xi,t1)) is
Element of (
Free (S,X)), (
the_sort_of t);
A1:
P[(x11
-term )]
proof
let xi be
Element of (
dom (x11
-term ));
(
dom (x11
-term ))
=
{
{} } by
TREES_1: 29;
then
A1: xi
= (
<*>
NAT );
let x1, t;
assume ((x11
-term )
. xi)
=
[x1, s];
then
[x11, s1]
=
[x1, s];
then
A2: s1
= s & x11
= x1 by
XTUPLE_0: 1;
((x11
-term )
with-replacement (xi,t1))
in (the
Sorts of (
Free (S,X))
. (
the_sort_of t1)) by
A1,
SORT;
hence thesis by
A2,
Z1,
SORT;
end;
A3: for o, p st for t st t
in (
rng p) holds
P[t] holds
P[(o
-term p)]
proof
let o, p;
assume
A4: for t st t
in (
rng p) holds
P[t];
let xi be
Element of (
dom (o
-term p));
let x1, t;
assume
A5: ((o
-term p)
. xi)
=
[x1, s] & t
= (o
-term p);
A6: (
dom (o
-term p))
= (
tree (
doms p)) & (
doms p) is
Tree-yielding by
TREES_4: 10;
per cases by
TREES_3:def 15;
suppose xi
=
{} ;
then ((o
-term p)
. xi)
=
[o, the
carrier of S] by
TREES_4:def 4;
then s
in the
carrier of S
= s by
A5,
XTUPLE_0: 1;
hence ((o
-term p)
with-replacement (xi,t1)) is
Element of (
Free (S,X)), (
the_sort_of t);
end;
suppose ex n be
Nat, w be
FinSequence st n
< (
len (
doms p)) & w
in ((
doms p)
. (n
+ 1)) & xi
= (
<*n*>
^ w);
then
consider w be
FinSequence, n be
Nat such that
B1: n
< (
len (
doms p)) & w
in ((
doms p)
. (n
+ 1)) & xi
= (
<*n*>
^ w);
1
<= (n
+ 1)
<= (
len (
doms p)) by
B1,
NAT_1: 12,
NAT_1: 13;
then
B2: (n
+ 1)
in (
dom (
doms p))
= (
dom p) by
FINSEQ_3: 25,
TREES_3: 37;
then
B3: (p
/. (n
+ 1))
= (p
. (n
+ 1))
in (
rng p) & ((
doms p)
. (n
+ 1))
= (
dom (p
. (n
+ 1))) by
FUNCT_1:def 3,
PARTFUN1:def 6,
FUNCT_6:def 2;
reconsider w as
Element of (
dom (p
/. (n
+ 1))) by
B1,
B3;
B4: n
< (
len p) by
B1,
TREES_3: 38;
then ((p
/. (n
+ 1))
. w)
=
[x1, s] by
A5,
B1,
B3,
TREES_4: 12;
then ((p
/. (n
+ 1))
with-replacement (w,t1)) is
Element of (
Free (S,X)), (
the_sort_of (p
/. (n
+ 1))) by
B3,
A4;
then ((p
/. (n
+ 1))
with-replacement (w,t1)) is
Element of (
Free (S,X)), ((
the_arity_of o)
/. (n
+ 1)) by
B2,
Th4A;
then
reconsider q = (p
+* ((n
+ 1),((p
/. (n
+ 1))
with-replacement (w,t1)))) as
Element of (
Args (o,(
Free (S,X)))) by
MSUALG_6: 7;
(((
Sym (o,X))
-tree p)
with-replacement (xi,t1))
= ((
Sym (o,X))
-tree q) by
B1,
B3,
B4,
A6,
Th123;
then ((o
-term p)
with-replacement (xi,t1)) is
Element of (
Free (S,X)), (
the_sort_of (o
-term q)) by
SORT;
then ((o
-term p)
with-replacement (xi,t1)) is
Element of (
Free (S,X)), (
the_result_sort_of o) by
Th8;
hence ((o
-term p)
with-replacement (xi,t1)) is
Element of (
Free (S,X)), (
the_sort_of t) by
A5,
Th8;
end;
end;
P[t] from
TermInd(
A1,
A3);
hence (t
with-replacement (xi,t1)) is
Element of (
Free (S,X)), (
the_sort_of t) by
Z0;
end;
theorem ::
MSAFREE5:132
Th118: X is
non-trivial implies for xi be
Element of (
dom C) st (C
. xi)
=
[x, s] holds (
the_sort_of t)
= s implies (C
-sub t)
= (C
with-replacement (xi,t))
proof
assume
ZZ: X is
non-trivial;
let xi be
Element of (
dom C);
assume
Z0: (C
. xi)
=
[x, s];
assume
Z1: (
the_sort_of t)
= s;
defpred
P[
Element of (
Free (S,X))] means for C be
context of x st C
= $1 holds for xi be
Element of (
dom C) st (C
. xi)
=
[x, s] holds (C
-sub t)
= (C
with-replacement (xi,t));
A1:
P[(x
-term )]
proof
let C such that
A2: C
= (x
-term );
let xi be
Element of (
dom C);
xi
in
{
{} } by
A2,
TREES_1: 29;
then xi
= (
<*>
NAT );
hence thesis by
Z1,
A2,
Th41;
end;
A3: for o be
OperSymbol of S holds for w be
Element of (
Args (o,(
Free (S,X)))) st w is x
-context_including holds
P[(x
-context_in w)] implies for C be
context of x st C
= (o
-term w) holds
P[C]
proof
let o be
OperSymbol of S;
let w be
Element of (
Args (o,(
Free (S,X))));
assume
Z2: w is x
-context_including;
assume
Z3:
P[(x
-context_in w)];
let C be
context of x;
assume
Z4: C
= (o
-term w);
let D be
context of x;
assume
Z5: D
= C;
let xi be
Element of (
dom D);
assume
Z6: (D
. xi)
=
[x, s];
(
dom D)
= (
tree (
doms w)) by
Z4,
Z5,
TREES_4: 10;
per cases by
TREES_3:def 15;
suppose xi
=
{} ;
then (D
. xi)
=
[o, the
carrier of S] by
Z4,
Z5,
TREES_4:def 4;
then s
in the
carrier of S
= s by
Z6,
XTUPLE_0: 1;
hence thesis;
end;
suppose ex i be
Nat, r be
FinSequence st i
< (
len (
doms w)) & r
in ((
doms w)
. (i
+ 1)) & xi
= (
<*i*>
^ r);
then
consider i be
Nat, r be
FinSequence such that
A4: i
< (
len (
doms w)) & r
in ((
doms w)
. (i
+ 1)) & xi
= (
<*i*>
^ r);
A5: (
len (
doms w))
= (
len w) by
TREES_3: 38;
then
AB: 1
<= (i
+ 1)
<= (
len w) by
A4,
NAT_1: 12,
NAT_1: 13;
then
A6: (i
+ 1)
in (
dom w) by
FINSEQ_3: 25;
then
A7: (w
/. (i
+ 1))
= (w
. (i
+ 1))
in (
rng w) & ((
doms w)
. (i
+ 1))
= (
dom (w
. (i
+ 1))) by
PARTFUN1:def 6,
FUNCT_6:def 2,
FUNCT_1:def 3;
then
reconsider r as
Element of (
dom (w
/. (i
+ 1))) by
A4;
A8: (D
. xi)
= ((w
/. (i
+ 1))
. r) &
[x, s]
in
{
[x, s]} by
Z4,
Z5,
A4,
A5,
A7,
TARSKI:def 1,
TREES_4: 12;
then not (w
/. (i
+ 1)) is x
-omitting by
Z6,
FUNCT_1:def 7;
then
AA: (x
-context_pos_in w)
= (i
+ 1) by
Z2,
AB,
Th72,
FINSEQ_3: 25;
then
A9: (x
-context_in w)
= (w
/. (i
+ 1)) by
Z2,
A7,
Th71;
(
the_sort_of (x
-context_in w))
= ((
the_arity_of o)
/. (x
-context_pos_in w)) by
A6,
AA,
A9,
Th4A;
then
reconsider u = (w
+* ((x
-context_pos_in w),((x
-context_in w)
-sub t))) as
Element of (
Args (o,(
Free (S,X)))) by
MSUALG_6: 7;
A11: (D
-sub t)
= (o
-term u) by
ZZ,
Z1,
Z2,
Z4,
Z5,
Th43;
xi
in (
dom D);
then i
< (
len w) & xi
in (
tree (
doms w)) & (x
-context_in w)
= (w
. (i
+ 1)) & u
= (w
+* ((i
+ 1),((x
-context_in w)
with-replacement (r,t)))) by
Z4,
Z5,
A4,
AA,
A9,
Z3,
Z6,
A8,
A6,
TREES_3: 38,
TREES_4: 10,
PARTFUN1:def 6;
hence thesis by
A11,
Z4,
Z5,
A4,
Th123;
end;
end;
P[C] from
ContextInd(
A1,
A3);
hence (C
-sub t)
= (C
with-replacement (xi,t)) by
Z0;
end;
theorem ::
MSAFREE5:133
Lem9: for xi1,xi2 be
FinSequence st xi1
<> xi2 & xi1
in (
dom t) & xi2
in (
dom t) holds for s1,s2 be
SortSymbol of S, x1 be
Element of (X
. s1) holds for x2 be
Element of (X
. s2) st (t
. xi1)
=
[x1, s1] holds not xi1
is_a_prefix_of xi2
proof
let xi1,xi2 be
FinSequence;
assume
Z0: xi1
<> xi2;
assume xi1
in (
dom t);
then
reconsider nu1 = xi1 as
Element of (
dom t);
assume
Z2: xi2
in (
dom t);
let s1,s2 be
SortSymbol of S;
let x1 be
Element of (X
. s1);
let x2 be
Element of (X
. s2);
assume
Z3: (t
. xi1)
=
[x1, s1];
assume xi1
is_a_prefix_of xi2;
then
consider r be
FinSequence such that
A1: xi2
= (xi1
^ r) by
TREES_1: 1;
reconsider t1 = (t
| nu1) as
Element of (
Free (S,X)) by
MSAFREE4: 44;
(
<*>
NAT )
in ((
dom t) qua
Tree
| nu1 qua
FinSequence of
NAT ) by
TREES_1: 22;
then
A2: (t1
.
{} )
= (t
. (nu1
^
{} )) by
TREES_2:def 10;
xi2 is
Element of (
dom t) by
Z2;
then
reconsider r as
FinSequence of
NAT by
A1,
FINSEQ_1: 36;
per cases by
Th16;
suppose ex s, x st t1
= (x
-term );
then
consider s, x such that
A4: t1
= (x
-term );
(
dom t1)
= ((
dom t)
| nu1) by
TREES_2:def 10;
then r
in (
dom t1) by
Z2,
A1,
TREES_1:def 6;
then r
in
{
{} } by
A4,
TREES_1: 29;
then r
=
{} ;
hence thesis by
Z0,
A1;
end;
suppose ex o, p st t1
= (o
-term p);
then
consider o, p such that
A3: t1
= (o
-term p);
(t1
.
{} )
=
[o, the
carrier of S] by
A3,
TREES_4:def 4;
then s1
in the
carrier of S
= s1 by
A2,
Z3,
XTUPLE_0: 1;
hence thesis;
end;
end;
theorem ::
MSAFREE5:134
Lem10: for t, t1 holds for xi be
Element of (
dom t) st t1
= (t
with-replacement (xi,(x
-term ))) & t is x
-omitting holds t1 is
context of x
proof
let t, t1;
let xi be
Element of (
dom t);
assume
Z1: t1
= (t
with-replacement (xi,(x
-term )));
assume
Z2: t is x
-omitting;
(
Coim (t1,
[x, s]))
=
{xi}
proof
thus (
Coim (t1,
[x, s]))
c=
{xi}
proof
let a;
assume
A0: a
in (
Coim (t1,
[x, s]));
then
A1: a
in (
dom t1) & (t1
. a)
in
{
[x, s]} by
FUNCT_1:def 7;
reconsider nu = a as
Element of (
dom t1) by
A0,
FUNCT_1:def 7;
nu
in (
dom t1);
then
A5: xi
in (
dom t) & nu
in ((
dom t)
with-replacement (xi,(
dom (x
-term )))) by
Z1,
TREES_2:def 11;
per cases by
Z1,
TREES_2:def 11;
suppose
A3: (t1
. nu)
= (t
. nu) & not xi
is_a_prefix_of nu;
then not ex r be
FinSequence of
NAT st r
in (
dom (x
-term )) & nu
= (xi
^ r) by
TREES_1: 1;
then
[x, s]
in
{
[x, s]} & nu
in (
dom t) by
A5,
TARSKI:def 1,
TREES_1:def 9;
hence thesis by
Z2,
A3,
A1,
FUNCT_1:def 7;
end;
suppose ex r be
FinSequence of
NAT st r
in (
dom (x
-term )) & nu
= (xi
^ r) & (t1
. nu)
= ((x
-term )
. r);
then
consider r be
FinSequence of
NAT such that
A6: r
in (
dom (x
-term )) & nu
= (xi
^ r) & (t1
. nu)
= ((x
-term )
. r);
r
in
{
{} } by
A6,
TREES_1: 29;
then r
=
{} ;
hence thesis by
A6,
TARSKI:def 1;
end;
end;
let a;
assume a
in
{xi};
then
A7: a
= xi by
TARSKI:def 1;
A9: xi
in ((
dom t)
with-replacement (xi,(
dom (x
-term ))))
= (
dom t1) by
Z1,
TREES_1:def 9,
TREES_2:def 11;
then
consider r be
FinSequence of
NAT such that
A8: r
in (
dom (x
-term )) & xi
= (xi
^ r) & (t1
. xi)
= ((x
-term )
. r) by
Z1,
TREES_2:def 11;
r
=
{} by
A8,
FINSEQ_1: 87;
then (t1
. xi)
=
[x, s]
in
{
[x, s]} by
A8,
TARSKI:def 1,
TREES_4: 3;
hence thesis by
A7,
A9,
FUNCT_1:def 7;
end;
then (
card (
Coim (t1,
[x, s])))
= 1 by
CARD_1: 30;
hence t1 is
context of x by
CONTEXT;
end;
theorem ::
MSAFREE5:135
Lem11: for t, t1 holds for xi be
Element of (
dom t) st (t
. xi)
=
[x, s] holds (
dom t)
c= (
dom (t
with-replacement (xi,t1)))
proof
let t, t1;
let xi be
Element of (
dom t);
assume
Z0: (t
. xi)
=
[x, s];
let a;
assume a
in (
dom t);
then
reconsider q = a as
Element of (
dom t);
xi
in (
Leaves (
dom t)) by
Z0,
Lem13;
then not xi
c< q by
TREES_1:def 5;
then q
in ((
dom t)
with-replacement (xi,(
dom t1))) by
TREES_1:def 9;
hence a
in (
dom (t
with-replacement (xi,t1))) by
TREES_2:def 11;
end;
theorem ::
MSAFREE5:136
Lem11A: for t holds for xi be
Element of (
dom t) st (t
. xi)
=
[x, s] holds (
dom t)
= (
dom (t
with-replacement (xi,(x1
-term ))))
proof
let t;
set t1 = (x1
-term );
let xi be
Element of (
dom t);
assume (t
. xi)
=
[x, s];
then
A0: (
dom t)
c= (
dom (t
with-replacement (xi,(x1
-term )))) by
Lem11;
(
dom (t
with-replacement (xi,(x1
-term ))))
c= (
dom t)
proof
let a;
assume a
in (
dom (t
with-replacement (xi,(x1
-term ))));
then
reconsider q = a as
Element of (
dom (t
with-replacement (xi,(x1
-term ))));
(
dom (t
with-replacement (xi,(x1
-term ))))
= ((
dom t)
with-replacement (xi,(
dom t1))) by
TREES_2:def 11;
per cases by
TREES_1:def 9;
suppose q
in (
dom t);
hence a
in (
dom t);
end;
suppose ex r be
FinSequence of
NAT st r
in (
dom t1) & q
= (xi
^ r);
then
consider r be
FinSequence of
NAT such that
A1: r
in (
dom t1) & q
= (xi
^ r);
r
in
{
{} } by
A1,
TREES_1: 29;
then r
=
{} ;
hence a
in (
dom t) by
A1;
end;
end;
hence thesis by
A0,
XBOOLE_0:def 10;
end;
theorem ::
MSAFREE5:137
Th129: for t,t1 be
Tree, xi be
Element of t holds ((t
with-replacement (xi,t1))
| xi)
= t1
proof
let t,t1 be
Tree;
let xi be
Element of t;
let p be
FinSequence of
NAT ;
A1: xi
in (t
with-replacement (xi,t1)) by
TREES_1:def 9;
hereby
assume p
in ((t
with-replacement (xi,t1))
| xi);
then (xi
^ p)
in (t
with-replacement (xi,t1)) by
A1,
TREES_1:def 6;
hence p
in t1 by
Th01;
end;
assume p
in t1;
then (xi
^ p)
in (t
with-replacement (xi,t1)) by
TREES_1:def 9;
hence thesis by
A1,
TREES_1:def 6;
end;
theorem ::
MSAFREE5:138
Th130: for t,t1 be
DecoratedTree, xi be
Node of t holds ((t
with-replacement (xi,t1))
| xi)
= t1
proof
let t,t1 be
DecoratedTree;
let xi be
Node of t;
A1: xi
in ((
dom t)
with-replacement (xi,(
dom t1)))
= (
dom (t
with-replacement (xi,t1))) by
TREES_1:def 9,
TREES_2:def 11;
A2: (
dom ((t
with-replacement (xi,t1))
| xi))
= ((
dom (t
with-replacement (xi,t1)))
| xi) by
TREES_2:def 10;
hence (
dom ((t
with-replacement (xi,t1))
| xi))
= (
dom t1) by
A1,
Th129;
let p be
Node of ((t
with-replacement (xi,t1))
| xi);
(xi
^ p)
in (
dom (t
with-replacement (xi,t1))) & xi
c= (xi
^ p) by
A1,
A2,
TREES_1: 1,
TREES_1:def 6;
then
consider r be
FinSequence of
NAT such that
A4: r
in (
dom t1) & (xi
^ p)
= (xi
^ r) & ((t
with-replacement (xi,t1))
. (xi
^ p))
= (t1
. r) by
A1,
TREES_2:def 11;
thus (((t
with-replacement (xi,t1))
| xi)
. p)
= ((t
with-replacement (xi,t1))
. (xi
^ p)) by
A2,
TREES_2:def 10
.= (t1
. p) by
A4,
FINSEQ_1: 33;
end;
theorem ::
MSAFREE5:139
Th131: for xi be
Node of t st t1
= (t
| xi) holds ((h
. t)
| xi)
= (h
. t1)
proof
let xi be
Node of t;
defpred
P[
Element of (
Free (S,X))] means for xi be
Node of $1 holds for t1 st t1
= ($1
| xi) holds ((h
. $1)
| xi)
= (h
. t1) & xi
in (
dom (h
. $1));
A1:
P[(x
-term )]
proof
let xi be
Node of (x
-term );
(
dom (x
-term ))
=
{
{} } by
TREES_1: 29;
then
A2: xi
=
{} ;
let t1;
assume t1
= ((x
-term )
| xi);
then t1
= (x
-term ) by
A2,
TREES_9: 1;
hence ((h
. (x
-term ))
| xi)
= (h
. t1) by
A2,
TREES_9: 1;
thus thesis by
A2,
TREES_1: 22;
end;
A3: for o, p st for t st t
in (
rng p) holds
P[t] holds
P[(o
-term p)]
proof
let o, p;
assume
A4: for t st t
in (
rng p) holds
P[t];
let xi be
Node of (o
-term p);
let t1;
assume
A5: t1
= ((o
-term p)
| xi);
per cases by
TREES_4: 11;
suppose
A6: xi
=
{} ;
hence ((h
. (o
-term p))
| xi)
= (h
. (o
-term p)) by
TREES_9: 1
.= (h
. t1) by
A5,
A6,
TREES_9: 1;
thus thesis by
A6,
TREES_1: 22;
end;
suppose ex n be
Nat, t be
DecoratedTree, q be
Node of t st n
< (
len p) & t
= (p
. (n
+ 1)) & xi
= (
<*n*>
^ q);
then
consider n be
Nat, t be
DecoratedTree, q be
Node of t such that
A6: n
< (
len p) & t
= (p
. (n
+ 1)) & xi
= (
<*n*>
^ q);
A8: t1
= (((o
-term p)
|
<*n*>)
| q) by
A5,
A6,
TREES_9: 3;
1
<= (n
+ 1)
<= (
len p) by
A6,
NAT_1: 12,
NAT_1: 13;
then
A10: (n
+ 1)
in (
dom p) by
FINSEQ_3: 25;
then
reconsider t as
Element of (
Free (S,X)) by
A6,
FUNCT_1: 102;
A9: t
= ((o
-term p)
|
<*n*>) by
A6,
TREES_4:def 4;
t
in (
rng p) by
A6,
A10,
FUNCT_1:def 3;
then
A12: ((h
. t)
| q)
= (h
. t1) & q
in (
dom (h
. t)) by
A8,
A9,
A4;
(
the_sort_of (o
-term p))
= (
the_result_sort_of o) by
Th8;
then (h
. (o
-term p))
= ((h
. (
the_result_sort_of o))
. (o
-term p)) & (o
-term p)
= ((
Den (o,(
Free (S,X))))
. p) by
ABBR,
MSAFREE4: 13;
then
A13: (h
. (o
-term p))
= ((
Den (o,(
Free (S,X))))
. (h
# p)) by
MSUALG_6:def 2,
MSUALG_3:def 7
.= (o
-term (h
# p)) by
MSAFREE4: 13;
(
dom (h
# p))
= (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_6: 2;
then
A16: (
len (h
# p))
= (
len p) by
FINSEQ_3: 29;
then
A14: ((h
# p)
. (n
+ 1))
= ((o
-term (h
# p))
|
<*n*>) by
A6,
TREES_4:def 4;
((h
# p)
. (n
+ 1))
= ((h
. ((
the_arity_of o)
/. (n
+ 1)))
. t) & t
= (p
/. (n
+ 1)) by
A6,
A10,
MSUALG_3:def 6,
PARTFUN1:def 6;
then
A15: ((h
# p)
. (n
+ 1))
= ((h
. (
the_sort_of t))
. t) by
A10,
Th4A
.= (h
. t) by
ABBR;
then (
<*n*>
^ q)
in (
dom (o
-term (h
# p))) by
A6,
A12,
A16,
TREES_4: 11;
hence thesis by
A6,
A12,
A13,
A14,
A15,
TREES_9: 3;
end;
end;
P[t] from
TermInd(
A1,
A3);
hence thesis;
end;
theorem ::
MSAFREE5:140
Th132: for xi be
Node of t st (t
. xi)
=
[x, s] holds (t
| xi)
= (x
-term )
proof
let xi be
Node of t;
assume
Z0: (t
. xi)
=
[x, s];
reconsider tx = (t
| xi) as
Element of (
Free (S,X)) by
MSAFREE4: 44;
per cases by
Th16;
suppose ex s1, x11 st tx
= (x11
-term );
then
consider s1, x11 such that
A1: tx
= (x11
-term );
(
<*>
NAT )
in (
dom tx)
= ((
dom t)
| xi) by
TREES_1: 22,
TREES_2:def 10;
then (tx
.
{} )
= (t
. (xi
^
{} )) by
TREES_2:def 10;
hence (t
| xi)
= (x
-term ) by
Z0,
A1,
TREES_4: 3;
end;
suppose ex o, p st tx
= (o
-term p);
then
consider o, p such that
A2: tx
= (o
-term p);
(
<*>
NAT )
in (
dom tx)
= ((
dom t)
| xi) by
TREES_1: 22,
TREES_2:def 10;
then (tx
.
{} )
= (t
. (xi
^
{} )) by
TREES_2:def 10;
then
[o, the
carrier of S]
=
[x, s] by
Z0,
A2,
TREES_4:def 4;
then s
in the
carrier of S
= s by
XTUPLE_0: 1;
hence thesis;
end;
end;
theorem ::
MSAFREE5:141
Th134: for t,t1 be
Tree, xi,nu be
Element of t st not xi
c= nu & not nu
c= xi holds ((t
with-replacement (xi,t1))
| nu)
= (t
| nu)
proof
let t,t1 be
Tree;
let xi,nu be
Element of t;
assume
Z0: not xi
c= nu;
assume
Z1: not nu
c= xi;
let a be
FinSequence of
NAT ;
hereby
assume a
in ((t
with-replacement (xi,t1))
| nu);
then
reconsider b = a as
Element of ((t
with-replacement (xi,t1))
| nu);
not xi
c< nu by
Z0,
XBOOLE_0:def 8;
then nu
in (t
with-replacement (xi,t1)) by
TREES_1:def 9;
then (nu
^ b)
in (t
with-replacement (xi,t1)) by
TREES_1:def 6;
per cases by
TREES_1:def 9;
suppose (nu
^ b)
in t & not xi
c< (nu
^ b);
hence a
in (t
| nu) by
TREES_1:def 6;
end;
suppose ex r be
FinSequence of
NAT st r
in t1 & (nu
^ b)
= (xi
^ r);
then
consider r be
FinSequence of
NAT such that
B1: r
in t1 & (nu
^ b)
= (xi
^ r);
nu
c= (xi
^ r) & xi
c= (nu
^ b) by
B1,
Lem8;
hence a
in (t
| nu) by
Z0,
Z1,
Lem8B;
end;
end;
assume a
in (t
| nu);
then
A2: (nu
^ a)
in t by
TREES_1:def 6;
not xi
c< (nu
^ a) by
Z0,
Z1,
Lem8B,
XBOOLE_0:def 8;
then
A3: (nu
^ a)
in (t
with-replacement (xi,t1)) by
A2,
TREES_1:def 9;
not xi
c< nu by
Z0,
XBOOLE_0:def 8;
then nu
in (t
with-replacement (xi,t1)) by
TREES_1:def 9;
hence thesis by
A3,
TREES_1:def 6;
end;
theorem ::
MSAFREE5:142
Th133: for t,t1 be
DecoratedTree, xi,nu be
Node of t st not xi
c= nu & not nu
c= xi holds ((t
with-replacement (xi,t1))
| nu)
= (t
| nu)
proof
let t,t1 be
DecoratedTree;
let xi,nu be
Node of t;
assume
Z0: not xi
c= nu;
assume
Z1: not nu
c= xi;
not xi
c< nu by
Z0,
XBOOLE_0:def 8;
then
A1: nu
in ((
dom t)
with-replacement (xi,(
dom t1)))
= (
dom (t
with-replacement (xi,t1))) by
TREES_1:def 9,
TREES_2:def 11;
A2: (
dom ((t
with-replacement (xi,t1))
| nu))
= ((
dom (t
with-replacement (xi,t1)))
| nu) by
TREES_2:def 10;
hence
A4: (
dom ((t
with-replacement (xi,t1))
| nu))
= ((
dom t)
| nu) by
Z0,
Z1,
A1,
Th134
.= (
dom (t
| nu)) by
TREES_2:def 10;
let p be
Node of ((t
with-replacement (xi,t1))
| nu);
A8: ((
dom t)
| nu)
= (
dom (t
| nu)) by
TREES_2:def 10;
then
A5: (nu
^ p)
in (
dom t) & ((t
| nu)
. p)
= (t
. (nu
^ p)) by
A4,
TREES_1:def 6,
TREES_2:def 10;
not xi
c< (nu
^ p) by
Z0,
Z1,
Lem8B,
XBOOLE_0:def 8;
then
A7: (nu
^ p)
in ((
dom t)
with-replacement (xi,(
dom t1))) by
A5,
TREES_1:def 9;
A6: not ex r be
FinSequence of
NAT st r
in (
dom t1) & (nu
^ p)
= (xi
^ r) & ((t
with-replacement (xi,t1))
. (nu
^ p))
= (t1
. r) by
Z0,
Z1,
Lem8B,
TREES_1: 1;
thus (((t
with-replacement (xi,t1))
| nu)
. p)
= ((t
with-replacement (xi,t1))
. (nu
^ p)) by
A2,
TREES_2:def 10
.= (t
. (nu
^ p)) by
A6,
A7,
TREES_2:def 11
.= ((t
| nu)
. p) by
A8,
TREES_2:def 10,
A4;
end;
theorem ::
MSAFREE5:143
Th136: t
c= t1 implies t
= t1
proof
assume
A1: t
c= t1;
defpred
P[
Element of (
Free (S,X))] means for t1 st $1
c= t1 holds $1
= t1;
A2:
P[(x
-term )]
proof
let t1;
assume
A3: (x
-term )
c= t1;
{}
in (
dom (x
-term )) by
TREES_1: 22;
then
A4: (t1
.
{} )
= ((x
-term )
.
{} )
=
[x, s] by
A3,
GRFUNC_1: 2,
TREES_4: 3;
per cases by
Th16;
suppose ex s, x st t1
= (x
-term );
then
consider s1, x11 such that
A5: t1
= (x11
-term );
thus thesis by
A5,
A4,
TREES_4: 3;
end;
suppose ex o, p st t1
= (o
-term p);
then
consider o, p such that
A6: t1
= (o
-term p);
(t1
.
{} )
=
[o, the
carrier of S] by
A6,
TREES_4:def 4;
then s
in the
carrier of S
= s by
A4,
XTUPLE_0: 1;
hence thesis;
end;
end;
A7: for o, p st for t st t
in (
rng p) holds
P[t] holds
P[(o
-term p)]
proof
let o, p;
assume
Z0: for t st t
in (
rng p) holds
P[t];
let t1;
assume
Z1: (o
-term p)
c= t1;
{}
in (
dom (o
-term p)) by
TREES_1: 22;
then
A8: (t1
.
{} )
= ((o
-term p)
.
{} )
=
[o, the
carrier of S] by
Z1,
GRFUNC_1: 2,
TREES_4:def 4;
per cases by
Th16;
suppose ex s, x st t1
= (x
-term );
then
consider s1, x11 such that
A5: t1
= (x11
-term );
(t1
.
{} )
=
[x11, s1] by
A5,
TREES_4: 3;
then s1
in the
carrier of S
= s1 by
A8,
XTUPLE_0: 1;
hence thesis;
end;
suppose ex o, p st t1
= (o
-term p);
then
consider o1 be
OperSymbol of S, p1 be
Element of (
Args (o1,(
Free (S,X)))) such that
A6: t1
= (o1
-term p1);
(t1
.
{} )
=
[o1, the
carrier of S] by
A6,
TREES_4:def 4;
then
A7: o
= o1 by
A8,
XTUPLE_0: 1;
p
= p1
proof
A8: (
dom p)
= (
dom (
the_arity_of o))
= (
dom p1) by
A7,
MSUALG_6: 2;
hence
B3: (
len p)
= (
len p1) by
FINSEQ_3: 29;
let i;
assume
A9: 1
<= i
<= (
len p);
then
B8: i
in (
dom p) by
FINSEQ_3: 25;
reconsider t = (p
. i), t1 = (p1
. i) as
Element of (
Free (S,X)) by
A8,
A9,
FUNCT_1: 102,
FINSEQ_3: 25;
consider j such that
B2: i
= (1
+ j) by
A9,
NAT_1: 10;
B7: j
< (
len p) by
A9,
B2,
NAT_1: 13;
then
B4: t
= ((o
-term p)
|
<*j*>) & t1
= ((o1
-term p1)
|
<*j*>) by
B2,
B3,
TREES_4:def 4;
then
B5: (
dom t)
= ((
dom (o
-term p))
|
<*j*>) & (
dom t1)
= ((
dom (o1
-term p1))
|
<*j*>) by
TREES_2:def 10;
((
doms p)
. (j
+ 1))
= (
dom t) by
B2,
B8,
FUNCT_6:def 2;
then
{}
in ((
doms p)
. (j
+ 1)) & (
dom (o
-term p))
= (
tree (
doms p)) & (
len (
doms p))
= (
len p) by
TREES_3: 38,
TREES_4: 10,
TREES_1: 22;
then
B6: (
<*j*>
^
{} )
in (
dom (o
-term p)) by
B7,
TREES_3: 48;
((
doms p1)
. (j
+ 1))
= (
dom t1) by
B2,
A9,
A8,
FINSEQ_3: 25,
FUNCT_6:def 2;
then
{}
in ((
doms p1)
. (j
+ 1)) & (
dom (o1
-term p1))
= (
tree (
doms p1)) & (
len (
doms p1))
= (
len p1) by
TREES_3: 38,
TREES_4: 10,
TREES_1: 22;
then
BB: (
<*j*>
^
{} )
in (
dom (o1
-term p1)) by
B3,
B7,
TREES_3: 48;
BE: t
c= t1
proof
let a, b;
assume
B1:
[a, b]
in t;
then
reconsider a as
Node of t by
XTUPLE_0:def 12;
(t
. a)
= b by
B1,
FUNCT_1: 1;
then
BA: ((o
-term p)
. (
<*j*>
^ a))
= b & (
<*j*>
^ a)
in (
dom (o
-term p)) by
B4,
B5,
B6,
TREES_1:def 6,
TREES_2:def 10;
then
BC: ((o1
-term p1)
. (
<*j*>
^ a))
= b & (
dom (o
-term p))
c= (
dom (o1
-term p1)) by
Z1,
A6,
GRFUNC_1: 2;
then
BD: a
in (
dom t1) by
BA,
BB,
B5,
TREES_1:def 6;
then (t1
. a)
= b by
BC,
B4,
B5,
TREES_2:def 10;
hence thesis by
BD,
FUNCT_1: 1;
end;
t
in (
rng p) by
B8,
FUNCT_1:def 3;
hence thesis by
BE,
Z0;
end;
hence thesis by
A6,
A8,
TREES_4:def 4;
end;
end;
P[t] from
TermInd(
A2,
A7);
hence thesis by
A1;
end;
theorem ::
MSAFREE5:144
Th135: for t holds for h be
Endomorphism of (
Free (S,X)) holds (
dom t)
c= (
dom (h
. t)) & for I st I
= { xi where xi be
Element of (
dom t) : ex s, x st (t
. xi)
=
[x, s] } holds (t
| ((
dom t)
\ I))
= ((h
. t)
| ((
dom t)
\ I))
proof
let t;
let h be
Endomorphism of (
Free (S,X));
defpred
P[
Element of (
Free (S,X))] means (
dom $1)
c= (
dom (h
. $1)) & for I st I
= { xi where xi be
Element of (
dom $1) : ex s, x st ($1
. xi)
=
[x, s] } holds ($1
| ((
dom $1)
\ I))
= ((h
. $1)
| ((
dom $1)
\ I));
A1:
P[(x
-term )]
proof
{}
in (
dom (h
. (x
-term ))) by
TREES_1: 22;
then
{
{} }
c= (
dom (h
. (x
-term )));
hence (
dom (x
-term ))
c= (
dom (h
. (x
-term ))) by
TREES_1: 29;
let I;
assume
A2: I
= { xi where xi be
Node of (x
-term ) : ex s, x1 st ((x
-term )
. xi)
=
[x1, s] };
{}
in (
dom (x
-term )) & ((x
-term )
.
{} )
=
[x, s] by
TREES_1: 22,
TREES_4: 3;
then
{}
in I by
A2;
then
{
{} }
c= I;
then (
dom (x
-term ))
c= I by
TREES_1: 29;
then ((x
-term )
| ((
dom (x
-term ))
\ I))
=
{} & ((h
. (x
-term ))
| ((
dom (x
-term ))
\ I))
=
{} ;
hence thesis;
end;
A3: for o, p st for t st t
in (
rng p) holds
P[t] holds
P[(o
-term p)]
proof
let o, p;
assume
Z0: for t st t
in (
rng p) holds
P[t];
(
the_sort_of (o
-term p))
= (
the_result_sort_of o) by
Th8;
then
A6: (h
. (o
-term p))
= ((h
. (
the_result_sort_of o))
. (o
-term p)) by
ABBR
.= ((h
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. p)) by
MSAFREE4: 13
.= ((
Den (o,(
Free (S,X))))
. (h
# p)) by
MSUALG_6:def 2,
MSUALG_3:def 7
.= (o
-term (h
# p)) by
MSAFREE4: 13;
thus
B3: (
dom (o
-term p))
c= (
dom (h
. (o
-term p)))
proof
let a;
assume a
in (
dom (o
-term p));
per cases by
TREES_4: 11;
suppose a
=
{} ;
hence thesis by
TREES_1: 22;
end;
suppose ex i be
Nat, T be
DecoratedTree, r be
Node of T st i
< (
len p) & T
= (p
. (i
+ 1)) & a
= (
<*i*>
^ r);
then
consider i be
Nat, T be
DecoratedTree, r be
Node of T such that
A7: i
< (
len p) & T
= (p
. (i
+ 1)) & a
= (
<*i*>
^ r);
1
<= (i
+ 1)
<= (
len p) by
A7,
NAT_1: 12,
NAT_1: 13;
then
A8: (i
+ 1)
in (
dom p) by
FINSEQ_3: 25;
then
reconsider T as
Element of (
Free (S,X)) by
A7,
FUNCT_1: 102;
T
in (
rng p) by
A7,
A8,
FUNCT_1:def 3;
then (
dom T)
c= (
dom (h
. T)) by
Z0;
then
A9: r
in (
dom (h
. T));
A10: ((h
# p)
. (i
+ 1))
= ((h
. ((
the_arity_of o)
/. (i
+ 1)))
. T) by
A7,
A8,
MSUALG_3:def 6
.= ((h
. ((
the_arity_of o)
/. (i
+ 1)))
. (p
/. (i
+ 1))) by
A7,
A8,
PARTFUN1:def 6
.= ((h
. (
the_sort_of (p
/. (i
+ 1))))
. (p
/. (i
+ 1))) by
A8,
Th4A
.= (h
. (p
/. (i
+ 1))) by
ABBR
.= (h
. T) by
A7,
A8,
PARTFUN1:def 6;
(
dom (h
# p))
= (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_6: 2;
then (
len (h
# p))
= (
len p) by
FINSEQ_3: 29;
hence thesis by
A7,
A9,
A10,
A6,
TREES_4: 11;
end;
end;
let I;
assume
A4: I
= { xi where xi be
Node of (o
-term p) : ex s, x st ((o
-term p)
. xi)
=
[x, s] };
B2: ((
dom (o
-term p))
\ I)
c= (
dom (h
. (o
-term p))) by
B3;
thus (
dom ((o
-term p)
| ((
dom (o
-term p))
\ I)))
= (
dom ((h
. (o
-term p))
| ((
dom (o
-term p))
\ I))) by
B2,
RELAT_1: 62;
let q be
object;
assume
BB: q
in (
dom ((o
-term p)
| ((
dom (o
-term p))
\ I)));
reconsider q as
Node of (o
-term p) by
BB;
B6: (((o
-term p)
| ((
dom (o
-term p))
\ I))
. q)
= ((o
-term p)
. q) & (((h
. (o
-term p))
| ((
dom (o
-term p))
\ I))
. q)
= ((h
. (o
-term p))
. q) by
BB,
FUNCT_1: 49;
per cases by
TREES_4: 11;
suppose q
=
{} ;
then ((o
-term p)
. q)
=
[o, the
carrier of S]
= ((o
-term (h
# p))
. q) by
TREES_4:def 4;
hence thesis by
A6,
B6;
end;
suppose ex i be
Nat, T be
DecoratedTree, r be
Node of T st i
< (
len p) & T
= (p
. (i
+ 1)) & q
= (
<*i*>
^ r);
then
consider i be
Nat, T be
DecoratedTree, r be
Node of T such that
A7: i
< (
len p) & T
= (p
. (i
+ 1)) & q
= (
<*i*>
^ r);
1
<= (i
+ 1)
<= (
len p) by
A7,
NAT_1: 12,
NAT_1: 13;
then
A8: (i
+ 1)
in (
dom p) by
FINSEQ_3: 25;
then
reconsider T as
Element of (
Free (S,X)) by
A7,
FUNCT_1: 102;
set II = { xi where xi be
Node of T : ex s, x st (T
. xi)
=
[x, s] };
T
in (
rng p) by
A7,
A8,
FUNCT_1:def 3;
then
B9: (
dom T)
c= (
dom (h
. T)) & (T
| ((
dom T)
\ II))
= ((h
. T)
| ((
dom T)
\ II)) by
Z0;
B8: ((o
-term p)
. q)
= (T
. r) by
A7,
TREES_4: 12;
r
nin II
proof
assume r
in II;
then
consider xi be
Node of T such that
B7: r
= xi & ex s, x st (T
. xi)
=
[x, s];
q
in I by
A4,
B8,
B7;
hence contradiction by
BB,
XBOOLE_0:def 5;
end;
then r
in ((
dom T)
\ II) by
XBOOLE_0:def 5;
then
A11: (T
. r)
= ((T
| ((
dom T)
\ II))
. r)
= ((h
. T)
. r) by
B9,
FUNCT_1: 49;
A10: ((h
# p)
. (i
+ 1))
= ((h
. ((
the_arity_of o)
/. (i
+ 1)))
. T) by
A7,
A8,
MSUALG_3:def 6
.= ((h
. ((
the_arity_of o)
/. (i
+ 1)))
. (p
/. (i
+ 1))) by
A7,
A8,
PARTFUN1:def 6
.= ((h
. (
the_sort_of (p
/. (i
+ 1))))
. (p
/. (i
+ 1))) by
A8,
Th4A
.= (h
. (p
/. (i
+ 1))) by
ABBR
.= (h
. T) by
A7,
A8,
PARTFUN1:def 6;
(
dom (h
# p))
= (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_6: 2;
then (
len (h
# p))
= (
len p) & r
in (
dom (h
. T)) by
B9,
FINSEQ_3: 29;
hence thesis by
B6,
B8,
A6,
A7,
A10,
A11,
TREES_4: 12;
end;
end;
thus
P[t] from
TermInd(
A1,
A3);
end;
theorem ::
MSAFREE5:145
Th137: for t st I
= { xi where xi be
Element of (
dom t) : ex s, x st (t
. xi)
=
[x, s] } holds for xi be
Node of (h
. t) holds xi
in ((
dom t)
\ I) or ex nu be
Element of (
dom t) st nu
in I & ex mu be
Node of ((h
. t)
| nu) st xi
= (nu
^ mu)
proof
let t;
defpred
P[
Element of (
Free (S,X))] means for I st I
= { xi where xi be
Element of (
dom $1) : ex s, x st ($1
. xi)
=
[x, s] } holds for xi be
Node of (h
. $1) holds xi
in ((
dom $1)
\ I) or ex nu be
Element of (
dom $1) st nu
in I & ex mu be
Node of ((h
. $1)
| nu) st xi
= (nu
^ mu);
A1:
P[(x
-term )]
proof
let I;
assume
A2: I
= { xi where xi be
Node of (x
-term ) : ex s1, x11 st ((x
-term )
. xi)
=
[x11, s1] };
let xi be
Node of (h
. (x
-term ));
assume xi
nin ((
dom (x
-term ))
\ I);
reconsider nu =
{} as
Node of (x
-term ) by
TREES_1: 22;
take nu;
((x
-term )
. nu)
=
[x, s];
hence nu
in I by
A2;
reconsider mu = xi as
Node of ((h
. (x
-term ))
| nu) by
TREES_9: 1;
take mu;
thus xi
= (nu
^ mu);
end;
A3: for o, p st for t st t
in (
rng p) holds
P[t] holds
P[(o
-term p)]
proof
let o, p;
assume
Z0: for t st t
in (
rng p) holds
P[t];
let I;
assume
A4: I
= { xi where xi be
Node of (o
-term p) : ex s, x st ((o
-term p)
. xi)
=
[x, s] };
let xi be
Node of (h
. (o
-term p));
assume
A5: xi
nin ((
dom (o
-term p))
\ I);
(
the_sort_of (o
-term p))
= (
the_result_sort_of o) by
Th8;
then
A6: (h
. (o
-term p))
= ((h
. (
the_result_sort_of o))
. (o
-term p)) by
ABBR
.= ((h
. (
the_result_sort_of o))
. ((
Den (o,(
Free (S,X))))
. p)) by
MSAFREE4: 13
.= ((
Den (o,(
Free (S,X))))
. (h
# p)) by
MSUALG_6:def 2,
MSUALG_3:def 7
.= (o
-term (h
# p)) by
MSAFREE4: 13;
per cases by
TREES_4: 11;
suppose xi
=
{} ;
then
B0: ((o
-term p)
. xi)
=
[o, the
carrier of S] & xi
in (
dom (o
-term p)) by
TREES_1: 22,
TREES_4:def 4;
xi
nin I
proof
assume xi
in I;
then
consider nu be
Node of (o
-term p) such that
B1: xi
= nu & ex s, x st ((o
-term p)
. nu)
=
[x, s] by
A4;
consider s, x such that
B2: ((o
-term p)
. xi)
=
[x, s] by
B1;
s
in the
carrier of S
= s by
B0,
B2,
XTUPLE_0: 1;
hence contradiction;
end;
hence thesis by
B0,
A5,
XBOOLE_0:def 5;
end;
suppose ex i be
Nat, T be
DecoratedTree, q be
Node of T st i
< (
len (h
# p)) & T
= ((h
# p)
. (i
+ 1)) & xi
= (
<*i*>
^ q);
then
consider i be
Nat, T be
DecoratedTree, q be
Node of T such that
B3: i
< (
len (h
# p)) & T
= ((h
# p)
. (i
+ 1)) & xi
= (
<*i*>
^ q);
(
dom (h
# p))
= (
dom (
the_arity_of o))
= (
dom p) by
MSUALG_6: 2;
then
BA: (
len (h
# p))
= (
len p) by
FINSEQ_3: 29;
then 1
<= (i
+ 1)
<= (
len p) by
B3,
NAT_1: 12,
NAT_1: 13;
then
B4: (i
+ 1)
in (
dom p) by
FINSEQ_3: 25;
then
reconsider t = (p
. (i
+ 1)) as
Element of (
Free (S,X)) by
FUNCT_1: 102;
set II = { xi where xi be
Element of (
dom t) : ex s, x st (t
. xi)
=
[x, s] };
B5: t
= (p
/. (i
+ 1)) by
B4,
PARTFUN1:def 6;
B6: T
= ((h
. ((
the_arity_of o)
/. (i
+ 1)))
. t) by
B3,
B4,
MSUALG_3:def 6
.= ((h
. (
the_sort_of (p
/. (i
+ 1))))
. t) by
B4,
Th4A
.= (h
. t) by
B5,
ABBR;
then
reconsider q as
Node of (h
. t);
t
in (
rng p) by
B4,
FUNCT_1:def 3;
per cases by
Z0;
suppose
BB: q
in ((
dom t)
\ II);
then
B7: q
in (
dom t) & q
nin II by
XBOOLE_0:def 5;
B8: xi
in (
dom (o
-term p)) by
B3,
BA,
BB,
TREES_4: 11;
xi
nin I
proof
assume xi
in I;
then
consider nu be
Node of (o
-term p) such that
B1: xi
= nu & ex s, x st ((o
-term p)
. nu)
=
[x, s] by
A4;
consider s, x such that
B2: ((o
-term p)
. xi)
=
[x, s] by
B1;
(t
. q)
=
[x, s] by
B2,
B3,
BA,
BB,
TREES_4: 12;
hence contradiction by
B7;
end;
hence thesis by
A5,
B8,
XBOOLE_0:def 5;
end;
suppose ex nu be
Element of (
dom t) st nu
in II & ex mu be
Node of ((h
. t)
| nu) st q
= (nu
^ mu);
then
consider nu be
Node of t, mu be
Node of ((h
. t)
| nu) such that
C1: nu
in II & q
= (nu
^ mu);
reconsider inu = (
<*i*>
^ nu) as
Node of (o
-term p) by
B3,
BA,
TREES_4: 11;
take inu;
consider xi1 be
Node of t such that
C2: nu
= xi1 & ex s, x st (t
. xi1)
=
[x, s] by
C1;
ex s, x st ((o
-term p)
. inu)
=
[x, s] by
C2,
B3,
BA,
TREES_4: 12;
hence inu
in I by
A4;
(h
. t)
= ((h
. (o
-term p))
|
<*i*>) & inu
in (
dom (o
-term p))
c= (
dom (h
. (o
-term p))) by
B3,
A6,
B6,
Th135,
TREES_4:def 4;
then
reconsider mu as
Node of ((h
. (o
-term p))
| inu) by
TREES_9: 3;
take mu;
thus thesis by
B3,
C1,
FINSEQ_1: 32;
end;
end;
end;
P[t] from
TermInd(
A1,
A3);
hence thesis;
end;
theorem ::
MSAFREE5:146
Th138: for v, v1 holds for h be
Endomorphism of (
Free (S,Y)) holds for g be
one-to-one
FinSequence of (
dom v) st (
rng g)
= { xi where xi be
Element of (
dom v) : ex s, y st (v
. xi)
=
[y, s] } & (
dom v)
c= (
dom v1) & (v
| ((
dom v)
\ (
rng g)))
= (v1
| ((
dom v)
\ (
rng g))) & for i st i
in (
dom g) holds ((h
. v)
| (g
/. i) qua
Node of v)
= (v1
| (g
/. i) qua
Node of v) holds (h
. v)
= v1
proof
let v, v1;
let h be
Endomorphism of (
Free (S,Y));
let g be
one-to-one
FinSequence of (
dom v);
assume
Z0: (
rng g)
= { xi where xi be
Element of (
dom v) : ex s, y st (v
. xi)
=
[y, s] };
assume
Z1: (
dom v)
c= (
dom v1);
assume (v
| ((
dom v)
\ (
rng g)))
= (v1
| ((
dom v)
\ (
rng g)));
then
A5: ((h
. v)
| ((
dom v)
\ (
rng g)))
= (v1
| ((
dom v)
\ (
rng g))) by
Z0,
Th135;
assume
Z3: for i st i
in (
dom g) holds ((h
. v)
| (g
/. i) qua
Node of v)
= (v1
| (g
/. i) qua
Node of v);
(h
. v)
c= v1
proof
let a, b;
assume
[a, b]
in (h
. v);
then
A1: a
in (
dom (h
. v)) & b
= ((h
. v)
. a) by
FUNCT_1: 1;
per cases by
Z0,
Th137;
suppose a
in ((
dom v)
\ (
rng g));
then
A2: (((h
. v)
| ((
dom v)
\ (
rng g)))
. a)
= ((h
. v)
. a) & a
in (
dom v) & ((v1
| ((
dom v)
\ (
rng g)))
. a)
= (v1
. a) by
FUNCT_1: 49;
thus thesis by
Z1,
A5,
A1,
A2,
FUNCT_1: 1;
end;
suppose ex nu be
Element of (
dom v) st nu
in (
rng g) & ex mu be
Node of ((h
. v)
| nu) st a
= (nu
^ mu);
then
consider nu be
Element of (
dom v), mu be
Node of ((h
. v)
| nu) such that
A3: nu
in (
rng g) & a
= (nu
^ mu);
consider i be
object such that
A6: i
in (
dom g) & nu
= (g
. i) by
A3,
FUNCT_1:def 3;
reconsider i as
Nat by
A6;
nu
= (g
/. i) by
A6,
PARTFUN1:def 6;
then
A7: ((h
. v)
| nu)
= (v1
| nu) by
A6,
Z3;
A8: nu
in (
dom v)
c= (
dom (h
. v)) by
Th135;
mu
in (
dom ((h
. v)
| nu))
= ((
dom (h
. v))
| nu) & (
dom (v1
| nu))
= ((
dom v1)
| nu) by
TREES_2:def 10;
then b
= (((h
. v)
| nu)
. mu)
= (v1
. a) & a
in (
dom v1) by
Z1,
A7,
A1,
A3,
A8,
TREES_1:def 6,
TREES_2:def 10;
hence thesis by
FUNCT_1: 1;
end;
end;
hence (h
. v)
= v1 by
Th136;
end;
theorem ::
MSAFREE5:147
for h be
Endomorphism of (
Free (S,Y)) holds for f be
vf-sequence of v st f
<>
{} holds ex B be non
empty
FinSequence of the
carrier of S st ex V1 be B
-sorts
FinSequence of (
Union Y) st (
dom B)
= (
dom f) & B
= (
pr2 f) & V1
= (
pr1 f) & ex D be B
-sorts
FinSequence of (
Free (S,Y)) st ex V2 be V1
-omittingD
-omittingB
-sorts
FinSequence of (
Union Y) st (for i be
Element of (
dom B) holds (D
. i)
= (h
. ((V1
. i)
-term ))) & ex F be V2
-context-sequence
FinSequence of (
Free (S,Y)) st F is V1, V2, D
-consequent-context-sequence & ((F
. (
In (1,(
dom B))))
-sub ((V1
. (
In (1,(
dom B))))
-term ))
= v & (h
. v)
= ((F
. (
In ((
len B),(
dom B))))
-sub (D
. (
In ((
len B),(
dom B)))))
proof
let h be
Endomorphism of (
Free (S,Y));
let f be
vf-sequence of v;
assume
A0: f
<>
{} ;
then
{}
<> (
dom f)
= (
dom (
pr2 f)) by
MCART_1:def 13;
then
reconsider B = (
pr2 f) as non
empty
FinSequence of the
carrier of S by
Th96;
consider g be
one-to-one
FinSequence such that
AA: (
rng g)
= { xi where xi be
Element of (
dom v) : ex s, y st (v
. xi)
=
[y, s] } & (
dom f)
= (
dom g) & for i st i
in (
dom f) holds (f
. i)
= (v
. (g
. i)) by
VFS;
(
rng g)
c= (
dom v)
proof
let a;
assume a
in (
rng g);
then ex xi be
Element of (
dom v) st a
= xi & ex s, y st (v
. xi)
=
[y, s] by
AA;
hence thesis;
end;
then
reconsider g as
one-to-one
FinSequence of (
dom v) by
FINSEQ_1:def 4;
take B;
B
= (
pr2 f);
then
reconsider V1 = (
pr1 f) as B
-sorts
FinSequence of (
Union Y) by
Th97;
take V1;
thus
AB: (
dom B)
= (
dom f) & B
= (
pr2 f) & V1
= (
pr1 f) by
MCART_1:def 13;
deffunc
F(
Element of (
dom B)) = (h
. ((V1
. $1)
-term ));
consider D be non
empty
FinSequence such that
A2: (
dom D)
= (
dom B) & for i be
Element of (
dom B) holds (D
. i)
=
F(i) from
FinSeqLambda;
D is
FinSequence of (
Free (S,Y))
proof
let a;
assume a
in (
rng D);
then
consider b such that
A3: b
in (
dom D) & a
= (D
. b) by
FUNCT_1:def 3;
reconsider b as
Element of (
dom B) by
A2,
A3;
a
=
F(b) by
A2,
A3;
hence thesis;
end;
then
reconsider D as
FinSequence of (
Free (S,Y));
D is B
-sorts
proof
thus (
dom D)
= (
dom B) by
A2;
let i;
assume i
in (
dom B);
then
reconsider i as
Element of (
dom B);
reconsider t = ((V1
. i)
-term ) as
Element of (
Free (S,Y));
(
the_sort_of t)
= (B
. i) by
SORT;
then (
the_sort_of (h
. t))
= (B
. i) by
Lem0;
then (h
. t)
in (the
Sorts of (
Free (S,Y))
. (B
. i)) by
SORT;
hence thesis by
A2;
end;
then
reconsider D as B
-sorts
FinSequence of (
Free (S,Y));
take D;
set V2 = the
one-to-oneV1
-omittingD
-omittingB
-sorts
FinSequence of (
Union Y);
take V2;
thus for i be
Element of (
dom B) holds (D
. i)
= (h
. ((V1
. i)
-term )) by
A2;
deffunc
H(
Element of (
dom B),
DecoratedTree) = (($2
with-replacement ((g
/. $1) qua
Element of (
dom v) qua
FinSequence of
NAT ,(D
. $1)))
with-replacement ((g
/. ($1
+ 1)) qua
Element of (
dom v) qua
FinSequence of
NAT ,(
root-tree
[(V2
. ($1
+ 1)), (B
. ($1
+ 1))])));
consider F be non
empty
DTree-yielding
FinSequence such that
A7: (
dom F)
= (
dom B) & (F
. 1)
= (v
with-replacement ((g
/. 1) qua
Element of (
dom v) qua
FinSequence of
NAT ,(
root-tree
[(V2
. 1), (B
. 1)]))) & for i,j be
Element of (
dom B) st j
= (i
+ 1) holds for d be
DecoratedTree st d
= (F
. i) holds (F
. j)
=
H(i,d) from
FinSeqRec2Lambda;
(
rng F)
c= (
Union the
Sorts of (
Free (S,Y)))
proof
let a;
assume a
in (
rng F);
then
consider b such that
B1: b
in (
dom F) & a
= (F
. b) by
FUNCT_1:def 3;
reconsider b as
Element of (
dom B) by
A7,
B1;
defpred
R[
Nat] means $1
in (
dom B) implies (F
. $1)
in (
Union the
Sorts of (
Free (S,Y))) & (g
. $1)
in (
dom (F
. $1)) & ((F
. $1)
. (g
. $1))
=
[(V2
. $1), (B
. $1)] & for j st j
> $1 & j
in (
dom B) holds (g
. j)
in (
dom (F
. $1)) & ((F
. $1)
. (g
. j))
=
[(V1
. j), (B
. j)];
B2:
R[1]
proof
assume 1
in (
dom B);
then
reconsider b = 1 as
Element of (
dom B);
reconsider bb = b as
Element of (
dom g) by
AA,
MCART_1:def 13;
(g
. b)
in (
rng g) by
AA,
AB,
FUNCT_1:def 3;
then
consider xi be
Element of (
dom v) such that
B3: (g
. b)
= xi & ex s, y st (v
. xi)
=
[y, s] by
AA;
consider s, y such that
B4: (v
. xi)
=
[y, s] by
B3;
reconsider v2 = ((V2
. b)
-term ) as
Element of (
Free (S,Y));
(f
. b)
= (v
. (g
. b)) by
AA,
AB;
then (V1
. b)
= (
[y, s]
`1 ) & (B
. b)
= (
[y, s]
`2 ) by
B3,
B4,
AB,
MCART_1:def 12,
MCART_1:def 13;
then
B6: (v
. (g
. b))
=
[(V1
. b), (B
. b)] & (
the_sort_of v2)
= (B
. b) by
B3,
B4,
SORT;
B7: (g
/. bb)
= (g
. bb) by
AA,
A0,
PARTFUN1:def 6;
(F
. b) is
Element of (
Free (S,Y)), (
the_sort_of v) by
A7,
B6,
B7,
Th117;
hence (F
. 1)
in (
Union the
Sorts of (
Free (S,Y)));
C1: (
dom (F
. b))
= ((
dom v)
with-replacement ((g
/. bb) qua
Element of (
dom v) qua
FinSequence of
NAT ,(
dom ((V2
. b)
-term )))) by
B3,
B7,
A7,
TREES_2:def 11;
hence (g
. 1)
in (
dom (F
. 1)) by
B3,
B7,
TREES_1:def 9;
then
consider r be
FinSequence of
NAT such that
CD: r
in (
dom ((V2
. b)
-term )) & xi
= (xi
^ r) & ((F
. b)
. xi)
= (((V2
. b)
-term )
. r) by
C1,
A7,
B7,
B3,
TREES_2:def 11;
r
=
{} by
CD,
FINSEQ_1: 87;
hence ((F
. 1)
. (g
. 1))
=
[(V2
. 1), (B
. 1)] by
CD,
B3,
TREES_4: 3;
let j;
assume
C2: j
> 1 & j
in (
dom B);
then (g
. j)
in (
rng g) by
AA,
AB,
FUNCT_1:def 3;
then
consider xi2 be
Element of (
dom v) such that
C3: (g
. j)
= xi2 & ex s, y st (v
. xi2)
=
[y, s] by
AA;
consider s, y such that
C4: (v
. xi2)
=
[y, s] by
C3;
(f
. j)
= (v
. (g
. j)) by
C2,
AA,
AB;
then
B0: (V1
. j)
= (
[y, s]
`1 ) & (B
. j)
= (
[y, s]
`2 ) by
C3,
C4,
C2,
AB,
MCART_1:def 12,
MCART_1:def 13;
xi
<> xi2 by
AA,
AB,
C2,
C3,
B3,
FUNCT_1:def 4;
then
C6: not xi
c= xi2 by
B4,
Lem9;
then
C8: not ex r be
FinSequence of
NAT st r
in (
dom ((V2
. b)
-term )) & xi2
= (xi
^ r) & ((v
with-replacement ((g
/. bb) qua
Element of (
dom v) qua
FinSequence of
NAT ,((V2
. b)
-term )))
. xi2)
= (((V2
. b)
-term )
. r) by
TREES_1: 1;
C7: not xi
c< xi2 & (
dom (F
. b))
= ((
dom v)
with-replacement (xi,(
dom ((V2
. b)
-term )))) by
A7,
B3,
C6,
B7,
TREES_2:def 11,
XBOOLE_0:def 8;
hence (g
. j)
in (
dom (F
. 1)) by
C3,
TREES_1:def 9;
hence thesis by
C7,
C8,
B3,
B7,
A7,
B0,
C3,
C4,
TREES_2:def 11;
end;
B8: for i st i
>= 1 &
R[i] holds
R[(i
+ 1)]
proof
let i;
assume
Z1: i
>= 1;
assume
Z2:
R[i];
assume
Z3: (i
+ 1)
in (
dom B);
then (i
+ 1)
<= (
len B) by
FINSEQ_3: 25;
then
D0: i
< (
len B) by
NAT_1: 13;
then
D1: i
in (
dom B) & (i
+ 1)
> i by
Z1,
NAT_1: 13,
FINSEQ_3: 25;
reconsider v1 = (F
. i) as
Element of (
Free (S,Y)) by
Z2,
D0,
Z1,
FINSEQ_3: 25;
reconsider b = i, b1 = (i
+ 1) as
Element of (
dom B) by
D0,
Z3,
Z1,
FINSEQ_3: 25;
D2: (g
. (i
+ 1))
in (
dom v1) & (v1
. (g
. (i
+ 1)))
=
[(V1
. b1), (B
. b1)] by
D1,
Z2,
Z3;
D3: (g
. b)
in (
dom v1) & (v1
. (g
. b))
=
[(V2
. b), (B
. b)] by
Z2;
reconsider xi1 = (g
. b), xi2 = (g
. (i
+ 1)) as
Element of (
dom v1) by
Z2,
D1,
Z3;
D4: (g
/. b)
= xi1 & (g
/. b1)
= xi2 by
AA,
AB,
PARTFUN1:def 6;
(
the_sort_of (D
. b))
= (B
. b) by
SORT;
then
reconsider v2 = (v1
with-replacement (xi1,(D
. b))) as
Element of (
Free (S,Y)), (
the_sort_of v1) by
D3,
Th117;
xi1
<> xi2 by
AA,
AB,
Z3,
D1,
FUNCT_1:def 4;
then
D5: not xi1
c= xi2 by
D3,
Lem9;
then
D6: not ex r be
FinSequence of
NAT st r
in (
dom (D
. b)) & xi2
= (xi1
^ r) & (v2
. xi2)
= ((D
. b)
. r) by
TREES_1: 1;
reconsider t1 = ((V2
. b1)
-term ) as
Element of (
Free (S,Y));
not xi1
c< xi2 by
D5,
XBOOLE_0:def 8;
then
DD: xi2
in ((
dom v1)
with-replacement (xi1,(
dom (D
. b)))) by
TREES_1:def 9;
then
D7: xi2
in (
dom v2) & (v2
. xi2)
=
[(V1
. b1), (B
. b1)] & (
the_sort_of t1)
= (B
. b1) by
D6,
D2,
SORT,
TREES_2:def 11;
reconsider xi3 = xi2 as
Element of (
dom v2) by
DD,
TREES_2:def 11;
reconsider v3 = (v2
with-replacement (xi3,t1)) as
Element of (
Free (S,Y)), (
the_sort_of v2) by
D7,
Th117;
D8: (F
. (i
+ 1))
= v3 by
D4,
A7;
hence (F
. (i
+ 1))
in (
Union the
Sorts of (
Free (S,Y)));
D9: (
dom (F
. b1))
= ((
dom v2)
with-replacement (xi3,(
dom t1))) by
D8,
TREES_2:def 11;
thus (g
. (i
+ 1))
in (
dom (F
. (i
+ 1))) by
D9,
TREES_1:def 9;
then
consider r be
FinSequence of
NAT such that
D10: r
in (
dom t1) & xi3
= (xi3
^ r) & (v3
. xi3)
= (t1
. r) by
D9,
TREES_2:def 11;
r
=
{} by
D10,
FINSEQ_1: 87;
hence ((F
. (i
+ 1))
. (g
. (i
+ 1)))
=
[(V2
. (i
+ 1)), (B
. (i
+ 1))] by
D8,
D10,
TREES_4: 3;
let j;
assume
E1: j
> (i
+ 1) & j
in (
dom B);
then
reconsider b2 = j as
Element of (
dom B);
EE: j
> i by
E1,
NAT_1: 13;
then
E2: (g
. j)
in (
dom v1) & (v1
. (g
. j))
=
[(V1
. b2), (B
. b2)] by
E1,
Z2,
D0,
Z1,
FINSEQ_3: 25;
reconsider xi = (g
. j) as
Element of (
dom v1) by
EE,
E1,
Z2,
D0,
Z1,
FINSEQ_3: 25;
xi1
<> xi by
E1,
AA,
AB,
D1,
FUNCT_1:def 4;
then
E5: not xi1
c= xi by
D3,
Lem9;
then
E6: not ex r be
FinSequence of
NAT st r
in (
dom (D
. b)) & xi
= (xi1
^ r) & (v2
. xi)
= ((D
. b)
. r) by
TREES_1: 1;
reconsider t2 = ((V2
. b2)
-term ) as
Element of (
Free (S,Y));
not xi1
c< xi by
E5,
XBOOLE_0:def 8;
then
EF: xi
in ((
dom v1)
with-replacement (xi1,(
dom (D
. b)))) by
TREES_1:def 9;
then
E7: xi
in (
dom v2) & (v2
. xi)
=
[(V1
. b2), (B
. b2)] & (
the_sort_of t2)
= (B
. b2) by
E6,
E2,
SORT,
TREES_2:def 11;
reconsider xi as
Element of (
dom v2) by
EF,
TREES_2:def 11;
xi3
<> xi by
AA,
AB,
Z3,
E1,
FUNCT_1:def 4;
then
E9: not xi3
c= xi by
Lem9,
D2;
then not xi3
c< xi by
XBOOLE_0:def 8;
hence
E8: (g
. j)
in (
dom (F
. (i
+ 1))) by
D9,
TREES_1:def 9;
not ex r be
FinSequence of
NAT st r
in (
dom t1) & xi
= (xi3
^ r) & (v3
. xi)
= (t1
. r) by
E9,
TREES_1: 1;
hence ((F
. (i
+ 1))
. (g
. j))
=
[(V1
. j), (B
. j)] by
E7,
D8,
D9,
E8,
TREES_2:def 11;
end;
B9: for i st i
>= 1 holds
R[i] from
NAT_1:sch 8(
B2,
B8);
b
>= 1 by
FINSEQ_3: 25;
hence thesis by
B1,
B9;
end;
then
reconsider F as
FinSequence of (
Free (S,Y)) by
FINSEQ_1:def 4;
defpred
Q[
Nat] means for b be
Element of (
dom B) st $1
= b holds (F
. b) is
context of (V2
. b) & (
dom v)
c= (
dom (F
. b)) & ((F
. b)
. (g
/. b))
=
[(V2
. b), (B
. b)] & for b1 be
Element of (
dom B) st b1
> b holds (F
/. b) is (V2
. b1)
-omitting & ((F
. b)
. (g
/. b1))
=
[(V1
. b1), (B
. b1)];
F1:
Q[1]
proof
let b be
Element of (
dom B) such that
F2: 1
= b;
reconsider xi = (g
/. b) as
Element of (
dom v);
reconsider t = ((V2
. b)
-term ) as
Element of (
Free (S,Y));
reconsider F1 = (F
. 1) as
Element of (
Free (S,Y)) by
A7,
F2,
FUNCT_1: 102;
F3: F1
= (v
with-replacement (xi,t)) by
A7,
F2;
FD: (
dom F1)
= ((
dom v)
with-replacement (xi,(
dom t))) by
A7,
F2,
TREES_2:def 11;
v is (V2
. b)
-omitting
proof
assume (
Coim (v,
[(V2
. b), (B
. b)]))
<>
{} ;
then
consider a such that
F4: a
in (
Coim (v,
[(V2
. b), (B
. b)])) by
XBOOLE_0: 7;
F5: a
in (
dom v) & (v
. a)
in
{
[(V2
. b), (B
. b)]} by
F4,
FUNCT_1:def 7;
reconsider a as
Element of (
dom v) by
F4,
FUNCT_1:def 7;
F7: (v
. a)
=
[(V2
. b), (B
. b)] by
F5,
TARSKI:def 1;
then a
in (
rng g) by
AA;
then
consider i be
object such that
F6: i
in (
dom g) & (g
. i)
= a by
FUNCT_1:def 3;
reconsider i as
Element of (
dom B) by
AA,
F6,
MCART_1:def 13;
(f
. i)
= (v
. a) by
AA,
F6;
then (V1
. i)
= (
[(V2
. b), (B
. b)]
`1 ) & (
dom V1)
= (
dom f) by
AB,
F7,
MCART_1:def 12;
then (V2
. b)
in (
rng V1)
misses (
rng V2) by
AB,
OMIT2,
FUNCT_1:def 3;
then (V2
. b)
nin (
rng V2) & (
dom V2)
= (
dom B) by
SORTS,
XBOOLE_0: 3;
hence contradiction by
FUNCT_1:def 3;
end;
hence (F
. b) is
context of (V2
. b) by
F2,
F3,
Lem10;
(g
. b)
= xi by
AA,
AB,
PARTFUN1:def 6;
then xi
in (
rng g) by
AA,
AB,
FUNCT_1:def 3;
then
consider nu be
Element of (
dom v) such that
G0: xi
= nu & ex s, y st (v
. nu)
=
[y, s] by
AA;
thus (
dom v)
c= (
dom (F
. b)) by
G0,
F2,
F3,
Lem11;
then (xi
^
{} )
= xi
in (
dom F1) by
F2;
then
consider mu be
FinSequence of
NAT such that
H0: mu
in (
dom t) & xi
= (xi
^ mu) & (F1
. xi)
= (t
. mu) by
A7,
F2,
FD,
TREES_2:def 11;
mu
=
{} by
H0,
FINSEQ_1: 87;
hence ((F
. b)
. (g
/. b))
=
[(V2
. b), (B
. b)] by
F2,
H0,
TREES_4: 3;
let b1 be
Element of (
dom B);
assume
G1: b1
> b;
thus (F
/. b) is (V2
. b1)
-omitting
proof
assume (
Coim ((F
/. b),
[(V2
. b1), (B
. b1)]))
<>
{} ;
then
consider i be
object such that
G2: i
in (
Coim ((F
/. b),
[(V2
. b1), (B
. b1)])) by
XBOOLE_0: 7;
G3: i
in (
dom (F
/. b)) & ((F
/. b)
. i)
in
{
[(V2
. b1), (B
. b1)]} by
G2,
FUNCT_1:def 7;
reconsider i as
Element of (
dom (F
/. b)) by
G2,
FUNCT_1:def 7;
G4: (F
/. b)
= (F
. b) by
A7,
PARTFUN1:def 6;
G5: ((F
/. b)
. i)
=
[(V2
. b1), (B
. b1)] by
G3,
TARSKI:def 1;
G7: (
dom F1)
= ((
dom v)
with-replacement (xi,(
dom t))) by
A7,
F2,
TREES_2:def 11;
per cases by
F2,
A7,
G4,
TREES_2:def 11;
suppose
G6: not xi
is_a_prefix_of i & (F1
. i)
= (v
. i);
then not ex r be
FinSequence of
NAT st r
in (
dom t) & i
= (xi
^ r) by
TREES_1: 1;
then i is
Element of (
dom v) by
G4,
G7,
F2,
TREES_1:def 9;
then i
in (
rng g) by
AA,
G5,
G6,
G4,
F2;
then
consider j be
object such that
G8: j
in (
dom g) & (g
. j)
= i by
FUNCT_1:def 3;
reconsider j as
Element of (
dom B) by
AA,
G8,
MCART_1:def 13;
(f
. j)
= (v
. (g
. j)) by
AA,
AB;
then (V1
. j)
= (
[(V2
. b1), (B
. b1)]
`1 ) & (
dom V1)
= (
dom B) by
AB,
G8,
G6,
G5,
G4,
F2,
MCART_1:def 12;
then (V2
. b1)
in (
rng V1)
misses (
rng V2) by
OMIT2,
FUNCT_1:def 3;
then (V2
. b1)
nin (
rng V2) & (
dom V2)
= (
dom B) by
SORTS,
XBOOLE_0: 3;
hence contradiction by
FUNCT_1:def 3;
end;
suppose ex r be
FinSequence of
NAT st r
in (
dom t) & i
= (xi
^ r) & (F1
. i)
= (t
. r);
then
consider r be
FinSequence of
NAT such that
G9: r
in (
dom t) & i
= (xi
^ r) & (F1
. i)
= (t
. r);
r
in
{
{} } by
G9,
TREES_1: 29;
then r
=
{} ;
then
G10: (F1
. i)
=
[(V2
. b), (B
. b)] & (
dom V2)
= (
dom B) by
G9,
SORTS,
TREES_4: 3;
then (V2
. b)
<> (V2
. b1) by
G1,
FUNCT_1:def 4;
hence contradiction by
G5,
G4,
F2,
G10,
XTUPLE_0: 1;
end;
end;
K2: xi
= (g
. b) & (g
/. b1)
= (g
. b1) by
AA,
AB,
PARTFUN1:def 6;
then
K0: (v
. xi)
= (f
. b) & (v
. (g
/. b1))
= (f
. b1) & (g
/. b1)
in (
rng g) & xi
in (
rng g) by
AA,
AB,
FUNCT_1:def 3;
then
consider mu be
Element of (
dom v) such that
K1: mu
= (g
/. b1) & ex s, y st (v
. mu)
=
[y, s] by
AA;
reconsider fb1 = (f
. b1) as
pair
object by
K2,
K1,
AA,
AB;
K3: (v
. mu)
=
[(fb1
`1 ), (fb1
`2 )] by
K2,
K1,
AA,
AB
.=
[(V1
. b1), (fb1
`2 )] by
AB,
MCART_1:def 12
.=
[(V1
. b1), (B
. b1)] by
AB,
MCART_1:def 13;
consider nu be
Element of (
dom v) such that
K4: nu
= xi & ex s, y st (v
. nu)
=
[y, s] by
AA,
K0;
reconsider fb = (f
. b) as
pair
object by
K2,
K4,
AA,
AB;
K5: (v
. xi)
=
[(fb
`1 ), (fb
`2 )] by
K2,
AA,
AB
.=
[(V1
. b), (fb
`2 )] by
AB,
MCART_1:def 12
.=
[(V1
. b), (B
. b)] by
AB,
MCART_1:def 13;
xi
<> mu by
AA,
AB,
K1,
K2,
G1,
FUNCT_1:def 4;
then
K6: not xi
c= mu by
K5,
Lem9;
then not xi
c< mu by
XBOOLE_0:def 8;
then
K7: mu
in ((
dom v)
with-replacement (xi,(
dom t))) by
TREES_1:def 9;
not ex r be
FinSequence of
NAT st r
in (
dom t) & mu
= (xi
^ r) & (F1
. mu)
= (t
. r) by
K6,
TREES_1: 1;
hence ((F
. b)
. (g
/. b1))
=
[(V1
. b1), (B
. b1)] by
F2,
A7,
K1,
K3,
K7,
TREES_2:def 11;
end;
WW: for i holds 1
<= i &
Q[i] implies
Q[(i
+ 1)]
proof
let i;
assume
H1: 1
<= i &
Q[i];
let b be
Element of (
dom B);
assume
H2: (i
+ 1)
= b;
reconsider xi = (g
/. b) as
Element of (
dom v);
reconsider t = ((V2
. b)
-term ) as
Element of (
Free (S,Y));
(i
+ 1)
<= (
len F) by
A7,
H2,
FINSEQ_3: 25;
then
HH: 1
<= i
< (
len F) by
H1,
NAT_1: 13;
reconsider F1 = (F
. (i
+ 1)), Fi = (F
. i) as
Element of (
Free (S,Y)) by
HH,
A7,
H2,
FUNCT_1: 102,
FINSEQ_3: 25;
reconsider bi = i as
Element of (
dom B) by
HH,
A7,
FINSEQ_3: 25;
reconsider Fi as
context of (V2
. bi) by
H1;
reconsider nu = (g
/. bi) as
Element of (
dom v);
F3: F1
= ((Fi
with-replacement (nu,(D
. bi)))
with-replacement (xi,t)) by
A7,
H2;
H8: b
> bi & (F
/. bi)
= Fi by
A7,
H2,
NAT_1: 13,
PARTFUN1:def 6;
then
H5: Fi is (V2
. b)
-omitting & (Fi
. xi)
=
[(V1
. b), (B
. b)] by
H1;
I2: (D
. bi)
in (the
Sorts of (
Free (S,Y))
. (B
. bi)) & (
dom v)
c= (
dom Fi) by
H1;
nu
= (g
. bi) & xi
= (g
. b) by
AA,
AB,
PARTFUN1:def 6;
then
H6: (Fi
. nu)
=
[(V2
. bi), (B
. bi)] & (
the_sort_of (D
. bi))
= (B
. bi) & nu
in (
dom Fi) & xi
in (
dom Fi) & nu
<> xi by
AA,
AB,
I2,
H1,
H8,
SORT,
FUNCT_1:def 4;
then
H7: (Fi
with-replacement (nu,(D
. bi)))
= (Fi
-sub (D
. bi)) by
Th118;
I1: not nu
c= xi by
H6,
Lem9;
then not nu
c< xi by
XBOOLE_0:def 8;
then
I3: xi
in ((
dom Fi)
with-replacement (nu,(
dom (D
. bi)))) by
H6,
TREES_1:def 9;
then
H9: xi
in (
dom (Fi
-sub (D
. bi))) by
H6,
H7,
TREES_2:def 11;
(D
. bi) is (V2
. b)
-omitting by
OMIT4;
then (Fi
-sub (D
. bi)) is (V2
. b)
-omitting by
H5,
H6,
Th45A;
hence (F
. b) is
context of (V2
. b) by
H2,
F3,
H7,
H9,
Lem10;
not ex r be
FinSequence of
NAT st r
in (
dom (D
. bi)) & xi
= (nu
^ r) & ((Fi
with-replacement (nu,(D
. bi)))
. xi)
= ((D
. bi)
. r) by
I1,
TREES_1: 1;
then ((Fi
-sub (D
. bi))
. xi)
=
[(V1
. b), (B
. b)] by
I3,
H5,
H6,
H7,
TREES_2:def 11;
then
L1: (
dom Fi)
c= (
dom (Fi
-sub (D
. bi)))
c= (
dom F1) by
F3,
H7,
H9,
H6,
Lem11;
hence (
dom v)
c= (
dom (F
. b)) by
I2,
H2;
xi
in (
dom F1)
= ((
dom (Fi
-sub (D
. bi)))
with-replacement (xi,(
dom t))) by
L1,
F3,
H7,
H6,
TREES_2:def 11;
then
consider r be
FinSequence of
NAT such that
J0: r
in (
dom t) & xi
= (xi
^ r) & (F1
. xi)
= (t
. r) by
H7,
H9,
F3,
TREES_2:def 11;
r
=
{} by
J0,
FINSEQ_1: 87;
hence ((F
. b)
. (g
/. b))
=
[(V2
. b), (B
. b)] by
H2,
J0,
TREES_4: 3;
let b1 be
Element of (
dom B);
assume
J1: b1
> b;
thus (F
/. b) is (V2
. b1)
-omitting
proof
assume (
Coim ((F
/. b),
[(V2
. b1), (B
. b1)]))
<>
{} ;
then
consider a such that
J2: a
in (
Coim ((F
/. b),
[(V2
. b1), (B
. b1)])) by
XBOOLE_0: 7;
J3: a
in (
dom (F
/. b)) & ((F
/. b)
. a)
in
{
[(V2
. b1), (B
. b1)]} by
J2,
FUNCT_1:def 7;
reconsider q = a as
Element of (
dom (F
/. b)) by
J2,
FUNCT_1:def 7;
J4: (F
/. b)
= (F
. b) by
A7,
PARTFUN1:def 6;
then
J5: q
in ((
dom (Fi
-sub (D
. bi)))
with-replacement (xi,(
dom t)))
= (
dom F1) by
F3,
J3,
H2,
H7,
H9,
TREES_2:def 11;
per cases by
F3,
H7,
H9,
TREES_2:def 11;
suppose
J6: not xi
is_a_prefix_of q & (F1
. q)
= ((Fi
-sub (D
. bi))
. q);
then
J7: q
in (
dom (Fi
-sub (D
. bi))) by
H9,
J5,
Th01;
b1
> bi by
J1,
H2,
NAT_1: 13;
then Fi is (V2
. b1)
-omitting & (D
. bi) is (V2
. b1)
-omitting by
H1,
H8,
OMIT4;
then (Fi
-sub (D
. bi)) is (V2
. b1)
-omitting by
H6,
Th45A;
hence contradiction by
J7,
H2,
J3,
J4,
J6,
FUNCT_1:def 7;
end;
suppose ex r be
FinSequence of
NAT st r
in (
dom t) & q
= (xi
^ r) & (F1
. q)
= (t
. r);
then
consider r be
FinSequence of
NAT such that
J8: r
in (
dom t) & q
= (xi
^ r) & (F1
. q)
= (t
. r);
(
dom V2)
= (
dom B) by
SORTS;
then (V2
. b)
<> (V2
. b1) by
J1,
FUNCT_1:def 4;
then t is (V2
. b1)
-omitting by
ThC1;
hence contradiction by
H2,
J3,
J4,
J8,
FUNCT_1:def 7;
end;
end;
reconsider mu = (g
/. b1) as
Node of v;
L5: bi
< b1 & b
> bi by
J1,
H2,
NAT_1: 13;
then
L2: (Fi
. (g
/. b1))
=
[(V1
. b1), (B
. b1)] & (Fi
. (g
/. b))
=
[(V1
. b), (B
. b)] by
H1;
(g
/. b1)
= (g
. b1) & (g
/. b)
= (g
. b) & (g
/. bi)
= (g
. bi) by
AA,
AB,
PARTFUN1:def 6;
then (g
/. b1)
<> (g
/. b) & (g
/. bi)
<> (g
/. b1) & (g
/. b1)
in (
dom Fi) & (g
/. b)
in (
dom Fi) & (g
/. bi)
in (
dom Fi) by
AB,
AA,
J1,
I2,
L5,
FUNCT_1:def 4;
then
L3: not (g
/. b)
c= (g
/. b1) & not nu
c= mu by
H6,
L2,
Lem9;
then
L4: not ex r be
FinSequence of
NAT st r
in (
dom (D
. bi)) & mu
= (nu
^ r) & ((Fi
-sub (D
. bi))
. mu)
= ((D
. bi)
. r) by
TREES_1: 1;
L6: nu
in (
dom Fi) & (g
/. b1)
in (
dom (Fi
-sub (D
. bi))) by
I2,
L1;
then (g
/. b1)
in ((
dom Fi)
with-replacement (nu,(
dom (D
. bi)))) by
H7,
TREES_2:def 11;
then
L7: ((Fi
-sub (D
. bi))
. (g
/. b1))
=
[(V1
. b1), (B
. b1)] by
L4,
L2,
L6,
H7,
TREES_2:def 11;
L4: not ex r be
FinSequence of
NAT st r
in (
dom t) & mu
= (xi
^ r) & (F1
. mu)
= (t
. r) by
L3,
TREES_1: 1;
(g
/. b1)
in (
dom Fi) by
I2;
then
L6: xi
in (
dom (Fi
-sub (D
. bi))) & (g
/. b1)
in (
dom F1) by
I2,
L1;
then (g
/. b1)
in ((
dom (Fi
-sub (D
. bi)))
with-replacement (xi,(
dom t))) by
H7,
F3,
TREES_2:def 11;
hence ((F
. b)
. (g
/. b1))
=
[(V1
. b1), (B
. b1)] by
H2,
L4,
L6,
L7,
F3,
H7,
TREES_2:def 11;
end;
L8: for i st i
>= 1 holds
Q[i] from
NAT_1:sch 8(
F1,
WW);
F is V2
-context-sequence
proof
thus (
dom F)
= (
dom B) by
A7;
let b be
Element of (
dom B);
1
<= b by
FINSEQ_3: 25;
hence thesis by
L8;
end;
then
reconsider F as V2
-context-sequence
FinSequence of (
Free (S,Y));
take F;
thus F is V1, V2, D
-consequent-context-sequence
proof
let i,j be
Element of (
dom B);
reconsider nu = (g
/. i), xi = (g
/. j) as
Node of v;
reconsider Fi = (F
. i), Fj = (F
. j) as
Element of (
Free (S,Y));
reconsider t = ((V2
. j)
-term ) as
Element of (
Free (S,Y));
H1: i
>= 1 by
FINSEQ_3: 25;
assume
H2: (i
+ 1)
= j;
H3: j
>= 1 by
H2,
NAT_1: 12;
F3: (F
. j)
= ((Fi
with-replacement (nu,(D
. i)))
with-replacement (xi,t)) by
A7,
H2;
H8: j
> i & (F
/. i)
= Fi by
A7,
H2,
NAT_1: 13,
PARTFUN1:def 6;
then
H5: Fi is (V2
. j)
-omitting & (Fi
. xi)
=
[(V1
. j), (B
. j)] by
H1,
L8;
I2: (D
. i)
in (the
Sorts of (
Free (S,Y))
. (B
. i)) & (
dom v)
c= (
dom Fi) by
H1,
L8;
nu
= (g
. i) & xi
= (g
. j) by
AA,
AB,
PARTFUN1:def 6;
then
H6: (Fi
. nu)
=
[(V2
. i), (B
. i)] & (
the_sort_of (D
. i))
= (B
. i) & nu
in (
dom Fi) & xi
in (
dom Fi) & nu
<> xi by
H1,
AA,
AB,
I2,
L8,
H8,
SORT,
FUNCT_1:def 4;
then
H7: (Fi
with-replacement (nu,(D
. i)))
= ((F
. i)
-sub (D
. i)) by
Th118;
reconsider q = ((V1
. j)
-term ) as
Element of (
Free (S,Y));
M1: not nu
c= xi by
H6,
Lem9;
then
H4: not ex r be
FinSequence of
NAT st r
in (
dom (D
. i)) & xi
= (nu
^ r) & (((F
. i)
-sub (D
. i))
. xi)
= ((D
. i)
. r) by
TREES_1: 1;
not nu
c< xi by
M1,
XBOOLE_0:def 8;
then xi
in ((
dom Fi)
with-replacement (nu,(
dom (D
. i)))) by
H6,
TREES_1:def 9;
then
M8: (((F
. i)
-sub (D
. i))
. xi)
=
[(V1
. j), (B
. j)] & xi
in (
dom ((F
. i)
-sub (D
. i))) by
H4,
H5,
H6,
H7,
TREES_2:def 11;
then
M3: (
dom ((F
. i)
-sub (D
. i)))
= (
dom Fj) & (
dom v)
c= (
dom Fj) by
H3,
L8,
F3,
H7,
Lem11A;
M2: (Fj
. xi)
=
[(V2
. j), (B
. j)] & (
the_sort_of q)
= (B
. j) & xi
in (
dom Fj) by
M8,
H3,
L8,
SORT,
F3,
H7,
Lem11A;
then
M5: ((F
. j)
-sub q)
= ((F
. j)
with-replacement (xi,q)) by
Th118;
hence
M4: (
dom ((F
. j)
-sub ((V1
. j)
-term )))
= (
dom ((F
. i)
-sub (D
. i))) by
M3,
M2,
Lem11A;
let a be
Node of ((F
. j)
-sub ((V1
. j)
-term ));
a
in (
dom ((F
. j)
-sub ((V1
. j)
-term )))
= ((
dom Fj)
with-replacement (xi,(
dom q))) by
M2,
M5,
TREES_2:def 11;
per cases by
M5,
M2,
TREES_2:def 11;
suppose
M6: not xi
c= a & (((F
. j)
-sub q)
. a)
= (Fj
. a);
then not xi
c< a by
XBOOLE_0:def 8;
then
M7: a
in ((
dom ((F
. i)
-sub (D
. i)))
with-replacement (xi,(
dom t))) by
M8,
M4,
TREES_1:def 9;
not ex r be
FinSequence of
NAT st r
in (
dom t) & a
= (xi
^ r) & (Fj
. a)
= (t
. r) by
M6,
TREES_1: 1;
hence (((F
. j)
-sub ((V1
. j)
-term ))
. a)
= (((F
. i)
-sub (D
. i))
. a) by
F3,
H7,
M6,
M7,
M8,
TREES_2:def 11;
end;
suppose ex r be
FinSequence of
NAT st r
in (
dom q) & a
= (xi
^ r) & (((F
. j)
-sub q)
. a)
= (q
. r);
then
consider r be
FinSequence of
NAT such that
N1: r
in (
dom q) & a
= (xi
^ r) & (((F
. j)
-sub q)
. a)
= (q
. r);
r
in
{
{} } by
N1,
TREES_1: 29;
then r
=
{} ;
hence (((F
. j)
-sub ((V1
. j)
-term ))
. a)
= (((F
. i)
-sub (D
. i))
. a) by
M8,
N1,
TREES_4: 3;
end;
end;
set b = (
In (1,(
dom B)));
reconsider nu = (g
/. b), xi = (g
/. (
len B)) as
Node of v;
NK: 1
<= b
<= (
len B) by
FINSEQ_3: 25;
N6: (F
. b)
= (v
with-replacement (nu,((V2
. b)
-term ))) by
A7;
NM: nu
= (g
. b) by
AA,
AB,
PARTFUN1:def 6;
then (v
. nu)
= (f
. b) & nu
in (
rng g) by
AB,
AA,
FUNCT_1:def 3;
then
consider mu be
Node of v such that
N5: nu
= mu & ex s, y st (v
. mu)
=
[y, s] by
AA;
reconsider fb = (f
. b) as
pair
object by
NM,
N5,
AB,
AA;
N7: (v
. nu)
=
[(fb
`1 ), (fb
`2 )] by
NM,
AB,
AA
.=
[(V1
. b), (fb
`2 )] by
AB,
MCART_1:def 12
.=
[(V1
. b), (B
. b)] by
AB,
MCART_1:def 13;
then
N8: (
dom (F
. b))
= (
dom v) by
N6,
Lem11A;
reconsider t = ((V1
. b)
-term ) as
Element of (
Free (S,Y));
O3: (
dom (F
. b))
= ((
dom v)
with-replacement (nu,(
dom ((V2
. b)
-term )))) by
A7,
TREES_2:def 11;
then
consider mu be
FinSequence of
NAT such that
N9: mu
in (
dom ((V2
. b)
-term )) & nu
= (nu
^ mu) & ((F
. b)
. nu)
= (((V2
. b)
-term )
. mu) by
A7,
N8,
TREES_2:def 11;
OA: mu
=
{} by
N9,
FINSEQ_1: 87;
then ((F
. b)
. nu)
=
[(V2
. b), (B
. b)] & (
the_sort_of t)
= (B
. b) by
N9,
SORT,
TREES_4: 3;
then
O1: ((F
. b)
-sub t)
= ((F
. b)
with-replacement (nu,t)) by
N8,
Th118;
hence
O5: (
dom ((F
. (
In (1,(
dom B))))
-sub ((V1
. (
In (1,(
dom B))))
-term )))
= (
dom v) by
N8,
OA,
Lem11A,
N9,
TREES_4: 3;
hereby
let a be
Node of ((F
. (
In (1,(
dom B))))
-sub ((V1
. (
In (1,(
dom B))))
-term ));
(
dom ((F
. b)
-sub t))
= ((
dom (F
. b))
with-replacement (nu,(
dom t))) by
N8,
O1,
TREES_2:def 11;
per cases by
N8,
O1,
TREES_2:def 11;
suppose
O4: not nu
c= a & (((F
. b)
-sub t)
. a)
= ((F
. b)
. a);
then not ex r be
FinSequence of
NAT st r
in (
dom ((V2
. b)
-term )) & a
= (nu
^ r) & ((F
. b)
. a)
= (((V2
. b)
-term )
. r) by
TREES_1: 1;
hence (((F
. (
In (1,(
dom B))))
-sub ((V1
. (
In (1,(
dom B))))
-term ))
. a)
= (v
. a) by
A7,
N8,
O3,
O4,
O5,
TREES_2:def 11;
end;
suppose ex r be
FinSequence of
NAT st r
in (
dom t) & a
= (nu
^ r) & (((F
. b)
-sub t)
. a)
= (t
. r);
then
consider r be
FinSequence of
NAT such that
O6: r
in (
dom t) & a
= (nu
^ r) & (((F
. b)
-sub t)
. a)
= (t
. r);
r
in
{
{} } by
O6,
TREES_1: 29;
then r
=
{} ;
hence (((F
. (
In (1,(
dom B))))
-sub ((V1
. (
In (1,(
dom B))))
-term ))
. a)
= (v
. a) by
N7,
O6,
TREES_4: 3;
end;
end;
defpred
S[
Nat] means for b,b1 be
Element of (
dom B) st $1
= b & b1
<= b holds (((F
. b)
-sub (D
. b))
| (g
/. b1) qua
Node of v)
= ((h
. v)
| (g
/. b1) qua
Node of v) & (((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g)))
= (v
| ((
dom v)
\ (
rng g)));
S1:
S[1]
proof
let b,b1 be
Element of (
dom B) such that
S2: 1
= b & b1
<= b;
b1
>= 1 by
FINSEQ_3: 25;
then
S3: b1
= 1 by
S2,
XXREAL_0: 1;
reconsider nu = (g
/. b) as
Node of v;
S4: ((F
. b)
. nu)
=
[(V2
. b), (B
. b)] & nu
in (
dom v)
c= (
dom (F
. b)) & (
the_sort_of (D
. b))
= (B
. b) by
S2,
F1,
SORT;
then
S8: ((F
. b)
-sub (D
. b))
= ((F
. b)
with-replacement (nu,(D
. b))) by
Th118;
then
S7: (((F
. b)
-sub (D
. b))
| nu)
= (D
. b) by
S4,
Th130;
SD: nu
= (g
. b) by
AA,
AB,
PARTFUN1:def 6;
then
S5: (v
. nu)
= (f
. b) & nu
in (
rng g) by
AA,
AB,
FUNCT_1:def 3;
then
consider mu be
Node of v such that
S6: nu
= mu & ex s, y st (v
. mu)
=
[y, s] by
AA;
reconsider fb = (f
. b) as
pair
object by
SD,
S6,
AA,
AB;
SC: (v
. nu)
=
[(fb
`1 ), (fb
`2 )] by
SD,
AA,
AB
.=
[(V1
. b), (fb
`2 )] by
AB,
MCART_1:def 12
.=
[(V1
. b), (B
. b)] by
AB,
MCART_1:def 13;
then (v
| nu)
= ((V1
. b)
-term ) by
Th132;
then ((h
. v)
| nu)
= (h
. ((V1
. b)
-term )) by
Th131;
hence (((F
. b)
-sub (D
. b))
| (g
/. b1) qua
Node of v)
= ((h
. v)
| (g
/. b1) qua
Node of v) by
A2,
S7,
S2,
S3;
(
dom (F
. b))
c= (
dom ((F
. b)
-sub (D
. b))) by
S4,
S8,
Lem11;
then ((
dom v)
\ (
rng g))
c= (
dom ((F
. b)
-sub (D
. b))) by
S4;
hence (
dom (((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g))))
= (
dom (v
| ((
dom v)
\ (
rng g)))) by
RELAT_1: 62;
let a;
assume
SK: a
in (
dom (((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g))));
then a
in ((
dom v)
\ (
rng g));
then
reconsider a as
Node of v;
SJ: ((((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g)))
. a)
= (((F
. b)
-sub (D
. b))
. a) & ((v
| ((
dom v)
\ (
rng g)))
. a)
= (v
. a) by
SK,
FUNCT_1: 49;
nu
<> a by
S5,
SK,
XBOOLE_0:def 5;
then
SD: not nu
c= a by
SC,
Lem9;
then
SE: not ex r be
FinSequence of
NAT st r
in (
dom ((V2
. b)
-term )) & a
= (nu
^ r) & ((F
. b)
. a)
= (((V2
. b)
-term )
. r) by
TREES_1: 1;
SG: not nu
c< a by
SD,
XBOOLE_0:def 8;
then a
in ((
dom v)
with-replacement (nu,(
dom ((V2
. b)
-term )))) by
TREES_1:def 9;
then
SI: (v
. a)
= ((F
. b)
. a) by
A7,
S2,
SE,
TREES_2:def 11;
SF: not ex r be
FinSequence of
NAT st r
in (
dom (D
. b)) & a
= (nu
^ r) & (((F
. b)
-sub (D
. b))
. a)
= ((D
. b)
. r) by
SD,
TREES_1: 1;
a
in (
dom (F
. b)) & nu
in (
dom (F
. b)) by
S4;
then a
in ((
dom (F
. b))
with-replacement (nu,(
dom (D
. b)))) by
SG,
TREES_1:def 9;
hence thesis by
SI,
SJ,
SF,
S4,
S8,
TREES_2:def 11;
end;
T1: for i st i
>= 1 &
S[i] holds
S[(i
+ 1)]
proof
let i;
assume
T2: i
>= 1 &
S[i];
let b,b1 be
Element of (
dom B);
assume
T3: b
= (i
+ 1) & b1
<= b;
then (i
+ 1)
<= (
len B) by
FINSEQ_3: 25;
then i
< (
len B) by
NAT_1: 13;
then
reconsider b2 = i as
Element of (
dom B) by
T2,
FINSEQ_3: 25;
T5: (F
. b)
= (((F
. b2)
with-replacement ((g
/. b2) qua
Node of v,(D
. b2)))
with-replacement ((g
/. b) qua
Node of v,((V2
. b)
-term ))) by
A7,
T3;
(v
. (g
. b))
= (f
. b) & (g
. b)
in (
rng g) by
AA,
AB,
FUNCT_1:def 3;
then
consider nu be
Node of v such that
U2: (g
. b)
= nu & ex s, y st (v
. nu)
=
[y, s] by
AA;
reconsider fb = (f
. b) as
pair
object by
U2,
AA,
AB;
U3: (v
. (g
/. b))
= (v
. (g
. b)) by
AA,
AB,
PARTFUN1:def 6
.=
[(fb
`1 ), (fb
`2 )] by
AA,
AB
.=
[(V1
. b), (fb
`2 )] by
AB,
MCART_1:def 12
.=
[(V1
. b), (B
. b)] by
AB,
MCART_1:def 13;
T7: (
the_sort_of (D
. b2))
= (B
. b2) & ((F
. b2)
. (g
/. b2))
=
[(V2
. b2), (B
. b2)] & (g
/. b2)
in (
dom v)
c= (
dom (F
. b2)) by
T2,
L8,
SORT;
then
T6: ((F
. b2)
-sub (D
. b2))
= ((F
. b2)
with-replacement ((g
/. b2) qua
Node of v,(D
. b2))) by
Th118;
T18: (g
/. b1)
= (g
. b1) & (g
/. b)
= (g
. b) by
AA,
AB,
PARTFUN1:def 6;
(
dom (F
. b2))
c= (
dom ((F
. b2)
-sub (D
. b2))) by
T6,
T7,
Lem11;
then
T21: (g
/. b)
in (
dom ((F
. b2)
-sub (D
. b2))) & (g
/. b1)
in (
dom ((F
. b2)
-sub (D
. b2))) by
T7;
per cases by
T3,
XXREAL_0: 1;
suppose b1
< b;
then
T8: b1
<= b2 & (g
. b1)
<> (g
. b) by
AA,
AB,
T3,
FUNCT_1:def 4,
NAT_1: 13;
then
T4: (((F
. b2)
-sub (D
. b2))
| (g
/. b1) qua
Node of v)
= ((h
. v)
| (g
/. b1) qua
Node of v) by
T2;
(v
. (g
. b1))
= (f
. b1) & (g
. b1)
in (
rng g) by
AA,
AB,
FUNCT_1:def 3;
then
consider nu be
Node of v such that
U5: (g
. b1)
= nu & ex s, y st (v
. nu)
=
[y, s] by
AA;
reconsider fb1 = (f
. b1) as
pair
object by
U5,
AA,
AB;
U6: (v
. (g
/. b1))
= (v
. (g
. b1)) by
AA,
AB,
PARTFUN1:def 6
.=
[(fb1
`1 ), (fb1
`2 )] by
AA,
AB
.=
[(V1
. b1), (fb1
`2 )] by
AB,
MCART_1:def 12
.=
[(V1
. b1), (B
. b1)] by
AB,
MCART_1:def 13;
T9: not (g
/. b)
c= (g
/. b1) & not (g
/. b1)
c= (g
/. b) by
T18,
T8,
U3,
U6,
Lem9;
then
T10: ((F
. b)
| (g
/. b1) qua
Node of v)
= ((h
. v)
| (g
/. b1) qua
Node of v) by
T21,
T4,
T5,
T6,
Th133;
1
<= (i
+ 1) by
NAT_1: 12;
then
T12: ((F
. b)
. (g
/. b))
=
[(V2
. b), (B
. b)] & (g
/. b)
in (
dom v)
c= (
dom (F
. b)) & (g
/. b1)
in (
dom v) & (
the_sort_of (D
. b))
= (B
. b) by
T3,
L8,
SORT;
then
T11: ((F
. b)
-sub (D
. b))
= ((F
. b)
with-replacement ((g
/. b) qua
Node of v,(D
. b))) by
Th118;
hence (((F
. b)
-sub (D
. b))
| (g
/. b1) qua
Node of v)
= ((h
. v)
| (g
/. b1) qua
Node of v) by
T10,
T12,
T9,
Th133;
(
dom v)
c= (
dom (F
. b))
c= (
dom ((F
. b)
-sub (D
. b))) by
T12,
T11,
Lem11;
then ((
dom v)
\ (
rng g))
c= (
dom ((F
. b)
-sub (D
. b)));
hence (
dom (((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g))))
= (
dom (v
| ((
dom v)
\ (
rng g)))) by
RELAT_1: 62;
let a;
assume
TT: a
in (
dom (((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g))));
reconsider a as
Node of ((F
. b)
-sub (D
. b)) by
TT,
RELAT_1: 57;
T16: ((((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g)))
. a)
= (((F
. b)
-sub (D
. b))
. a) & ((((F
. b2)
-sub (D
. b2))
| ((
dom v)
\ (
rng g)))
. a)
= (((F
. b2)
-sub (D
. b2))
. a) & ((v
| ((
dom v)
\ (
rng g)))
. a)
= (v
. a) by
TT,
FUNCT_1: 49;
then
T17: (((F
. b2)
-sub (D
. b2))
. a)
= (v
. a) by
T2;
(g
/. b)
in (
rng g) & a
nin (
rng g) & a
in (
dom v) by
T18,
AA,
AB,
TT,
XBOOLE_0:def 5,
FUNCT_1:def 3;
then
T19: not (g
/. b)
c= a & a
in (
dom (F
. b))
= ((
dom ((F
. b2)
-sub (D
. b2)))
with-replacement ((g
/. b) qua
Node of v,(
dom ((V2
. b)
-term )))) by
T18,
U2,
T21,
T5,
T6,
T12,
Lem9,
TREES_2:def 11;
then not ex r be
FinSequence of
NAT st r
in (
dom ((V2
. b)
-term )) & a
= ((g
/. b)
^ r) & ((F
. b)
. a)
= (((V2
. b)
-term )
. r) by
TREES_1: 1;
then
T22: ((F
. b)
. a)
= (v
. a) by
T18,
U2,
T17,
T19,
T21,
T5,
T6,
TREES_2:def 11;
T24: a
in (
dom ((F
. b)
-sub (D
. b)))
= ((
dom (F
. b))
with-replacement ((g
/. b) qua
Node of v,(
dom (D
. b)))) by
T12,
T18,
U2,
T11,
TREES_2:def 11;
not ex r be
FinSequence of
NAT st r
in (
dom (D
. b)) & a
= ((g
/. b)
^ r) & (((F
. b)
-sub (D
. b))
. a)
= ((D
. b)
. r) by
T19,
TREES_1: 1;
hence thesis by
T16,
T18,
U2,
T11,
T22,
T12,
T24,
TREES_2:def 11;
end;
suppose
U7: b1
= b;
reconsider nu = (g
/. b) as
Node of v;
(i
+ 1)
>= 1 by
NAT_1: 12;
then
S4: ((F
. b)
. nu)
=
[(V2
. b), (B
. b)] & nu
in (
dom v)
c= (
dom (F
. b)) & (
the_sort_of (D
. b))
= (B
. b) by
T3,
L8,
SORT;
then
T11: ((F
. b)
-sub (D
. b))
= ((F
. b)
with-replacement (nu,(D
. b))) by
Th118;
then
S7: (((F
. b)
-sub (D
. b))
| nu)
= (D
. b) by
S4,
Th130;
T18: nu
= (g
. b) by
AA,
AB,
PARTFUN1:def 6;
then (v
. nu)
= (f
. b) & nu
in (
rng g) by
AA,
AB,
FUNCT_1:def 3;
then
consider mu be
Node of v such that
S6: nu
= mu & ex s, y st (v
. mu)
=
[y, s] by
AA;
reconsider fb = (f
. b) as
pair
object by
T18,
S6,
AA,
AB;
(v
. nu)
=
[(fb
`1 ), (fb
`2 )] by
T18,
AA,
AB
.=
[(V1
. b), (fb
`2 )] by
AB,
MCART_1:def 12
.=
[(V1
. b), (B
. b)] by
AB,
MCART_1:def 13;
then (v
| nu)
= ((V1
. b)
-term ) by
Th132;
then ((h
. v)
| nu)
= (h
. ((V1
. b)
-term )) by
Th131;
hence (((F
. b)
-sub (D
. b))
| (g
/. b1) qua
Node of v)
= ((h
. v)
| (g
/. b1) qua
Node of v) by
A2,
S7,
U7;
(
dom v)
c= (
dom (F
. b))
c= (
dom ((F
. b)
-sub (D
. b))) by
S4,
T11,
Lem11;
then ((
dom v)
\ (
rng g))
c= (
dom ((F
. b)
-sub (D
. b)));
hence (
dom (((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g))))
= (
dom (v
| ((
dom v)
\ (
rng g)))) by
RELAT_1: 62;
let a;
assume
T24: a
in (
dom (((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g))));
then
reconsider a as
Node of ((F
. b)
-sub (D
. b)) by
RELAT_1: 57;
T16: ((((F
. b)
-sub (D
. b))
| ((
dom v)
\ (
rng g)))
. a)
= (((F
. b)
-sub (D
. b))
. a) & ((((F
. b2)
-sub (D
. b2))
| ((
dom v)
\ (
rng g)))
. a)
= (((F
. b2)
-sub (D
. b2))
. a) & ((v
| ((
dom v)
\ (
rng g)))
. a)
= (v
. a) by
T24,
FUNCT_1: 49;
then
T17: (((F
. b2)
-sub (D
. b2))
. a)
= (v
. a) by
T2;
(g
/. b)
in (
rng g) & a
nin (
rng g) & a
in (
dom v) by
T18,
AA,
AB,
T24,
XBOOLE_0:def 5,
FUNCT_1:def 3;
then
T19: not (g
/. b)
c= a & a
in (
dom (F
. b))
= ((
dom ((F
. b2)
-sub (D
. b2)))
with-replacement ((g
/. b) qua
Node of v,(
dom ((V2
. b)
-term )))) by
T21,
T5,
T6,
S4,
Lem9,
TREES_2:def 11;
then not ex r be
FinSequence of
NAT st r
in (
dom ((V2
. b)
-term )) & a
= ((g
/. b)
^ r) & ((F
. b)
. a)
= (((V2
. b)
-term )
. r) by
TREES_1: 1;
then
T22: ((F
. b)
. a)
= (v
. a) by
T18,
T17,
T19,
T21,
T5,
T6,
TREES_2:def 11;
T24: a
in (
dom ((F
. b)
-sub (D
. b)))
= ((
dom (F
. b))
with-replacement ((g
/. b) qua
Node of v,(
dom (D
. b)))) by
S4,
T11,
TREES_2:def 11;
not ex r be
FinSequence of
NAT st r
in (
dom (D
. b)) & a
= ((g
/. b)
^ r) & (((F
. b)
-sub (D
. b))
. a)
= ((D
. b)
. r) by
T19,
TREES_1: 1;
hence thesis by
T16,
T11,
T22,
S4,
T24,
TREES_2:def 11;
end;
end;
set b = (
In ((
len B),(
dom B)));
set v1 = ((F
. b)
-sub (D
. b));
SK: for i st i
>= 1 holds
S[i] from
NAT_1:sch 8(
S1,
T1);
S8: ((F
. b)
. (g
/. b))
=
[(V2
. b), (B
. b)] & (
dom v)
c= (
dom (F
. b)) by
L8,
NK;
then
SA: (
the_sort_of (D
. b))
= (B
. b) & (g
/. b)
in (
dom (F
. b)) by
SORT;
then v1
= ((F
. b)
with-replacement ((g
/. b) qua
Node of v,(D
. b))) by
S8,
Th118;
then (
dom (F
. b))
c= (
dom v1) by
SA,
S8,
Lem11;
then
S9: (
dom v)
c= (
dom v1) & (v
| ((
dom v)
\ (
rng g)))
= (v1
| ((
dom v)
\ (
rng g))) by
SK,
S8,
NK;
now
let i;
assume i
in (
dom g);
then
reconsider b1 = i as
Element of (
dom B) by
AA,
MCART_1:def 13;
b1
<= (
len B) by
FINSEQ_3: 25;
hence ((h
. v)
| (g
/. i) qua
Node of v)
= (v1
| (g
/. i) qua
Node of v) by
SK,
NK;
end;
hence (h
. v)
= ((F
. (
In ((
len B),(
dom B))))
-sub (D
. (
In ((
len B),(
dom B))))) by
AA,
S9,
Th138;
end;