begin
Lm7:
for X, A, B being set st X is Subset of (Funcs (A,B)) holds
X is Subset-Family of [:A,B:]
Lm10:
for S being Language
for t1, t2 being termal string of S holds (<*(TheEqSymbOf S)*> ^ t1) ^ t2 is 0wff string of S
:: deftheorem defines -sequents FOMODEL4:def 1 :
for S being Language holds S -sequents = { [premises,conclusion] where premises is Subset of (AllFormulasOf S), conclusion is wff string of S : premises is finite } ;
:: deftheorem DefSeqtLike defines -sequent-like FOMODEL4:def 2 :
for S being Language
for x being set holds
( x is S -sequent-like iff x in S -sequents );
:: deftheorem DefSeqtLike2 defines -sequents-like FOMODEL4:def 3 :
for S being Language
for X being set holds
( X is S -sequents-like iff X c= S -sequents );
:: deftheorem Def1Step defines OneStep FOMODEL4:def 4 :
for S being Language
for D being RuleSet of S
for b3 being Rule of S holds
( b3 = OneStep D iff for Seqs being Element of bool (S -sequents) holds b3 . Seqs = union ((union D) .: {Seqs}) );
Lm4:
for m being Nat
for S being Language
for D being RuleSet of S
for R being Rule of S
for Seqts being Subset of (S -sequents)
for SQ being b2 -sequents-like set holds
( dom (OneStep D) = bool (S -sequents) & rng (OneStep D) c= dom (OneStep D) & iter ((OneStep D),m) is Function of (bool (S -sequents)),(bool (S -sequents)) & dom (iter ((OneStep D),m)) = bool (S -sequents) & (dom (OneStep D)) \/ (rng (OneStep D)) = bool (S -sequents) & Seqts in dom R & SQ in dom (iter (R,m)) )
:: deftheorem defines -derivables FOMODEL4:def 5 :
for S being Language
for D being RuleSet of S
for m being Nat holds (m,D) -derivables = iter ((OneStep D),m);
:: deftheorem DefDerivable defines -derivable FOMODEL4:def 6 :
for S being Language
for D being RuleSet of S
for Seqs1, Seqs2 being set holds
( Seqs2 is Seqs1,D -derivable iff Seqs2 c= union (((OneStep D) [*]) .: {Seqs1}) );
:: deftheorem DefDerivable3 defines -derivable FOMODEL4:def 7 :
for m being Nat
for S being Language
for D being RuleSet of S
for Seqts, seqt being set holds
( seqt is m,Seqts,D -derivable iff seqt in ((m,D) -derivables) . Seqts );
:: deftheorem defines -iterators FOMODEL4:def 8 :
for S being Language
for D being RuleSet of S holds D -iterators = { (iter ((OneStep D),mm)) where mm is Element of NAT : verum } ;
:: deftheorem DefMonotonic1 defines isotone FOMODEL4:def 9 :
for S being Language
for R being Rule of S holds
( R is isotone iff for Seqts1, Seqts2 being Subset of (S -sequents) st Seqts1 c= Seqts2 holds
R . Seqts1 c= R . Seqts2 );
Lm16:
for S being Language
for R being Rule of S holds
( id (bool (S -sequents)) is Rule of S & ( R = id (bool (S -sequents)) implies R is isotone ) )
:: deftheorem DefMonotonic2 defines isotone FOMODEL4:def 10 :
for S being Language
for D being RuleSet of S holds
( D is isotone iff for Seqts1, Seqts2 being Subset of (S -sequents)
for f being Function st Seqts1 c= Seqts2 & f in D holds
ex g being Function st
( g in D & f . Seqts1 c= g . Seqts2 ) );
:: deftheorem DefDerivable2 defines -derivable FOMODEL4:def 11 :
for S being Language
for D being RuleSet of S
for Seqts being set holds
( Seqts is D -derivable iff Seqts is {} ,D -derivable );
:: deftheorem DefProvable defines -provable FOMODEL4:def 12 :
for S being Language
for D being RuleSet of S
for X, phi being set holds
( phi is X,D -provable iff ( {[X,phi]} is D -derivable or ex seqt being set st
( seqt `1 c= X & seqt `2 = phi & {seqt} is D -derivable ) ) );
:: deftheorem DefProvable2 defines -provable FOMODEL4:def 13 :
for S being Language
for D being RuleSet of S
for X, x being set holds
( x is X,D -provable iff ex seqt being set st
( seqt `1 c= X & seqt `2 = x & {seqt} is D -derivable ) );
:: deftheorem defines -macro FOMODEL4:def 14 :
for S being Language
for D being RuleSet of S
for R being Rule of S holds
( R is D -macro iff for Seqs being Subset of (S -sequents) holds R . Seqs is Seqs,D -derivable );
:: deftheorem defines -termEq FOMODEL4:def 15 :
for S being Language
for D being RuleSet of S
for Phi being set holds (Phi,D) -termEq = { [t1,t2] where t1, t2 is termal string of S : (<*(TheEqSymbOf S)*> ^ t1) ^ t2 is Phi,D -provable } ;
:: deftheorem DefExpanded defines -expanded FOMODEL4:def 16 :
for S being Language
for D being RuleSet of S
for Phi being set holds
( Phi is D -expanded iff for x being set st x is Phi,D -provable holds
{x} c= Phi );
:: deftheorem DefNull defines -null FOMODEL4:def 17 :
for S being Language
for x being set holds
( x is S -null iff verum );
Lm31:
for X, Y, x being set
for S being Language
for D being RuleSet of S st X c= Y & x is X,D -provable holds
x is Y,D -provable
Lm13:
for X being set
for S being Language
for D being RuleSet of S st X c= S -sequents holds
(OneStep D) . X = union (union { (R .: {X}) where R is Subset of [:(bool (S -sequents)),(bool (S -sequents)):] : R in D } )
Lm8:
for S being Language
for R being Rule of S holds R = OneStep {R}
Lm3:
for y being set
for S being Language
for D being RuleSet of S
for Seqts being Subset of (S -sequents) st {y} is Seqts,D -derivable holds
ex mm being Element of NAT st y is mm,Seqts,D -derivable
Lm5:
for m being Nat
for X being set
for S being Language
for D being RuleSet of S st X c= S -sequents holds
((m,D) -derivables) . X c= union (((OneStep D) [*]) .: {X})
Lm18:
for X being set
for S being Language
for D being RuleSet of S holds union (((OneStep D) [*]) .: {X}) = union { (((mm,D) -derivables) . X) where mm is Element of NAT : verum }
Lm18b:
for m being Nat
for X being set
for S being Language
for D being RuleSet of S holds ((m,D) -derivables) . X c= union (((OneStep D) [*]) .: {X})
Lm29:
for m being Nat
for x, X being set
for S being Language
for D being RuleSet of S st x is m,X,D -derivable holds
{x} is X,D -derivable
Lm14:
for S being Language
for D1, D2 being RuleSet of S
for Seqts1, Seqts2 being Subset of (S -sequents) st Seqts1 c= Seqts2 & D1 c= D2 & ( D2 is isotone or D1 is isotone ) holds
(OneStep D1) . Seqts1 c= (OneStep D2) . Seqts2
Lm15:
for m being Nat
for S being Language
for D1, D2 being RuleSet of S
for Seqts1, Seqts2 being Subset of (S -sequents) st Seqts1 c= Seqts2 & D1 c= D2 & ( D2 is isotone or D1 is isotone ) holds
((m,D1) -derivables) . Seqts1 c= ((m,D2) -derivables) . Seqts2
Lm15b:
for m being Nat
for S being Language
for D1, D2 being RuleSet of S
for SQ1, SQ2 being b2 -sequents-like set st SQ1 c= SQ2 & D1 c= D2 & ( D2 is isotone or D1 is isotone ) holds
((m,D1) -derivables) . SQ1 c= ((m,D2) -derivables) . SQ2
Lm17:
for m being Nat
for X being set
for S being Language
for D1, D2 being RuleSet of S st D1 c= D2 & ( D2 is isotone or D1 is isotone ) holds
((m,D1) -derivables) . X c= ((m,D2) -derivables) . X
Lm19:
for X being set
for S being Language
for D1, D2 being RuleSet of S st D1 c= D2 & ( D2 is isotone or D1 is isotone ) holds
union (((OneStep D1) [*]) .: {X}) c= union (((OneStep D2) [*]) .: {X})
Lm20:
for Y, X being set
for S being Language
for D1, D2 being RuleSet of S st D1 c= D2 & ( D2 is isotone or D1 is isotone ) & Y is X,D1 -derivable holds
Y is X,D2 -derivable
Lm9:
for Y being set
for S being Language
for R being Rule of S
for Seqts being Subset of (S -sequents) st Y c= R . Seqts holds
Y is Seqts,{R} -derivable
Lm27:
for m, n being Nat
for Z being set
for S being Language
for D1, D2 being RuleSet of S
for SQ2, SQ1 being b4 -sequents-like set st D1 is isotone & D1 \/ D2 is isotone & SQ2 c= (iter ((OneStep D1),m)) . SQ1 & Z c= (iter ((OneStep D2),n)) . SQ2 holds
Z c= (iter ((OneStep (D1 \/ D2)),(m + n))) . SQ1
Lm28:
for m, n being Nat
for y, X, z being set
for S being Language
for D1, D2 being RuleSet of S st D1 is isotone & D1 \/ D2 is isotone & y is m,X,D1 -derivable & z is n,{y},D2 -derivable holds
z is m + n,X,D1 \/ D2 -derivable
Lm23:
for X being set
for S being Language
for t1, t2 being termal string of S
for D being RuleSet of S holds
( [t1,t2] in (X,D) -termEq iff (<*(TheEqSymbOf S)*> ^ t1) ^ t2 is X,D -provable )
Lm32:
for S being Language
for Sq being b1 -sequent-like set holds Sq `2 is wff string of S
Lm33:
for x, X being set
for S being Language
for D being RuleSet of S st x is X,D -provable holds
x is wff string of S
Lm34:
for S being Language
for D being RuleSet of S holds AllFormulasOf S is D -expanded
definition
let Seqts be
set ;
let S be
Language;
let seqt be
S -null set ;
pred seqt Rule0 Seqts means :
Def0:
seqt `2 in seqt `1 ;
pred seqt Rule1 Seqts means :
Def1:
ex
y being
set st
(
y in Seqts &
y `1 c= seqt `1 &
seqt `2 = y `2 );
pred seqt Rule2 Seqts means :
Def2:
(
seqt `1 is
empty & ex
t being
termal string of
S st
seqt `2 = (<*(TheEqSymbOf S)*> ^ t) ^ t );
pred seqt Rule3a Seqts means :
Def3a:
ex
t,
t1,
t2 being
termal string of
S ex
x being
set st
(
x in Seqts &
seqt `1 = (x `1) \/ {((<*(TheEqSymbOf S)*> ^ t1) ^ t2)} &
x `2 = (<*(TheEqSymbOf S)*> ^ t) ^ t1 &
seqt `2 = (<*(TheEqSymbOf S)*> ^ t) ^ t2 );
pred seqt Rule3b Seqts means :
Def3b:
ex
t1,
t2 being
termal string of
S st
(
seqt `1 = {((<*(TheEqSymbOf S)*> ^ t1) ^ t2)} &
seqt `2 = (<*(TheEqSymbOf S)*> ^ t2) ^ t1 );
pred seqt Rule3d Seqts means :
Def3d:
ex
s being
low-compounding Element of
S ex
T,
U being
abs (ar b1) -element Element of
(AllTermsOf S) * st
(
s is
operational &
seqt `1 = { ((<*(TheEqSymbOf S)*> ^ (TT . j)) ^ (UU . j)) where j is Element of Seg (abs (ar s)), TT, UU is Function of (Seg (abs (ar s))),(((AllSymbolsOf S) *) \ {{}}) : ( TT = T & UU = U ) } &
seqt `2 = (<*(TheEqSymbOf S)*> ^ (s -compound T)) ^ (s -compound U) );
pred seqt Rule3e Seqts means :
Def3e:
ex
s being
relational Element of
S ex
T,
U being
abs (ar b1) -element Element of
(AllTermsOf S) * st
(
seqt `1 = {(s -compound T)} \/ { ((<*(TheEqSymbOf S)*> ^ (TT . j)) ^ (UU . j)) where j is Element of Seg (abs (ar s)), TT, UU is Function of (Seg (abs (ar s))),(((AllSymbolsOf S) *) \ {{}}) : ( TT = T & UU = U ) } &
seqt `2 = s -compound U );
pred seqt Rule4 Seqts means :
Def4:
ex
l being
literal Element of
S ex
phi being
wff string of
S ex
t being
termal string of
S st
(
seqt `1 = {((l,t) SubstIn phi)} &
seqt `2 = <*l*> ^ phi );
pred seqt Rule5 Seqts means :
Def5:
ex
v1,
v2 being
literal Element of
S ex
x being
set ex
p being
FinSequence st
(
seqt `1 = x \/ {(<*v1*> ^ p)} & not
v2 is
(x \/ {p}) \/ {(seqt `2)} -occurring &
[(x \/ {((v1 SubstWith v2) . p)}),(seqt `2)] in Seqts );
pred seqt Rule6 Seqts means :
Def6:
ex
y1,
y2 being
set ex
phi1,
phi2 being
wff string of
S st
(
y1 in Seqts &
y2 in Seqts &
y1 `1 = y2 `1 &
y2 `1 = seqt `1 &
y1 `2 = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi1 &
y2 `2 = (<*(TheNorSymbOf S)*> ^ phi2) ^ phi2 &
seqt `2 = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 );
pred seqt Rule7 Seqts means :
Def7:
ex
y being
set ex
phi1,
phi2 being
wff string of
S st
(
y in Seqts &
y `1 = seqt `1 &
y `2 = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 &
seqt `2 = (<*(TheNorSymbOf S)*> ^ phi2) ^ phi1 );
pred seqt Rule8 Seqts means :
Def8:
ex
y1,
y2 being
set ex
phi,
phi1,
phi2 being
wff string of
S st
(
y1 in Seqts &
y2 in Seqts &
y1 `1 = y2 `1 &
y1 `2 = phi1 &
y2 `2 = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 &
{phi} \/ (seqt `1) = y1 `1 &
seqt `2 = (<*(TheNorSymbOf S)*> ^ phi) ^ phi );
pred seqt Rule9 Seqts means :
Def9:
ex
y being
set ex
phi being
wff string of
S st
(
y in Seqts &
seqt `2 = phi &
y `1 = seqt `1 &
y `2 = xnot (xnot phi) );
end;
:: deftheorem Def0 defines Rule0 FOMODEL4:def 18 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule0 Seqts iff seqt `2 in seqt `1 );
:: deftheorem Def1 defines Rule1 FOMODEL4:def 19 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule1 Seqts iff ex y being set st
( y in Seqts & y `1 c= seqt `1 & seqt `2 = y `2 ) );
:: deftheorem Def2 defines Rule2 FOMODEL4:def 20 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule2 Seqts iff ( seqt `1 is empty & ex t being termal string of S st seqt `2 = (<*(TheEqSymbOf S)*> ^ t) ^ t ) );
:: deftheorem Def3a defines Rule3a FOMODEL4:def 21 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule3a Seqts iff ex t, t1, t2 being termal string of S ex x being set st
( x in Seqts & seqt `1 = (x `1) \/ {((<*(TheEqSymbOf S)*> ^ t1) ^ t2)} & x `2 = (<*(TheEqSymbOf S)*> ^ t) ^ t1 & seqt `2 = (<*(TheEqSymbOf S)*> ^ t) ^ t2 ) );
:: deftheorem Def3b defines Rule3b FOMODEL4:def 22 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule3b Seqts iff ex t1, t2 being termal string of S st
( seqt `1 = {((<*(TheEqSymbOf S)*> ^ t1) ^ t2)} & seqt `2 = (<*(TheEqSymbOf S)*> ^ t2) ^ t1 ) );
:: deftheorem Def3d defines Rule3d FOMODEL4:def 23 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule3d Seqts iff ex s being low-compounding Element of S ex T, U being abs (ar b4) -element Element of (AllTermsOf S) * st
( s is operational & seqt `1 = { ((<*(TheEqSymbOf S)*> ^ (TT . j)) ^ (UU . j)) where j is Element of Seg (abs (ar s)), TT, UU is Function of (Seg (abs (ar s))),(((AllSymbolsOf S) *) \ {{}}) : ( TT = T & UU = U ) } & seqt `2 = (<*(TheEqSymbOf S)*> ^ (s -compound T)) ^ (s -compound U) ) );
:: deftheorem Def3e defines Rule3e FOMODEL4:def 24 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule3e Seqts iff ex s being relational Element of S ex T, U being abs (ar b4) -element Element of (AllTermsOf S) * st
( seqt `1 = {(s -compound T)} \/ { ((<*(TheEqSymbOf S)*> ^ (TT . j)) ^ (UU . j)) where j is Element of Seg (abs (ar s)), TT, UU is Function of (Seg (abs (ar s))),(((AllSymbolsOf S) *) \ {{}}) : ( TT = T & UU = U ) } & seqt `2 = s -compound U ) );
:: deftheorem Def4 defines Rule4 FOMODEL4:def 25 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule4 Seqts iff ex l being literal Element of S ex phi being wff string of S ex t being termal string of S st
( seqt `1 = {((l,t) SubstIn phi)} & seqt `2 = <*l*> ^ phi ) );
:: deftheorem Def5 defines Rule5 FOMODEL4:def 26 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule5 Seqts iff ex v1, v2 being literal Element of S ex x being set ex p being FinSequence st
( seqt `1 = x \/ {(<*v1*> ^ p)} & not v2 is (x \/ {p}) \/ {(seqt `2)} -occurring & [(x \/ {((v1 SubstWith v2) . p)}),(seqt `2)] in Seqts ) );
:: deftheorem Def6 defines Rule6 FOMODEL4:def 27 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule6 Seqts iff ex y1, y2 being set ex phi1, phi2 being wff string of S st
( y1 in Seqts & y2 in Seqts & y1 `1 = y2 `1 & y2 `1 = seqt `1 & y1 `2 = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi1 & y2 `2 = (<*(TheNorSymbOf S)*> ^ phi2) ^ phi2 & seqt `2 = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 ) );
:: deftheorem Def7 defines Rule7 FOMODEL4:def 28 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule7 Seqts iff ex y being set ex phi1, phi2 being wff string of S st
( y in Seqts & y `1 = seqt `1 & y `2 = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 & seqt `2 = (<*(TheNorSymbOf S)*> ^ phi2) ^ phi1 ) );
:: deftheorem Def8 defines Rule8 FOMODEL4:def 29 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule8 Seqts iff ex y1, y2 being set ex phi, phi1, phi2 being wff string of S st
( y1 in Seqts & y2 in Seqts & y1 `1 = y2 `1 & y1 `2 = phi1 & y2 `2 = (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 & {phi} \/ (seqt `1) = y1 `1 & seqt `2 = (<*(TheNorSymbOf S)*> ^ phi) ^ phi ) );
:: deftheorem Def9 defines Rule9 FOMODEL4:def 30 :
for Seqts being set
for S being Language
for seqt being b2 -null set holds
( seqt Rule9 Seqts iff ex y being set ex phi being wff string of S st
( y in Seqts & seqt `2 = phi & y `1 = seqt `1 & y `2 = xnot (xnot phi) ) );
definition
let S be
Language;
func P0 S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP0:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule0 Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule0 Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule0 Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule0 Seqts ) ) holds
b1 = b2
func P1 S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP1:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule1 Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule1 Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule1 Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule1 Seqts ) ) holds
b1 = b2
func P2 S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP2:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule2 Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule2 Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule2 Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule2 Seqts ) ) holds
b1 = b2
func P3a S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP3a:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule3a Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule3a Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule3a Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule3a Seqts ) ) holds
b1 = b2
func P3b S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP3b:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule3b Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule3b Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule3b Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule3b Seqts ) ) holds
b1 = b2
func P3d S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP3d:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule3d Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule3d Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule3d Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule3d Seqts ) ) holds
b1 = b2
func P3e S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP3e:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule3e Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule3e Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule3e Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule3e Seqts ) ) holds
b1 = b2
func P4 S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP4:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule4 Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule4 Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule4 Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule4 Seqts ) ) holds
b1 = b2
func P5 S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP5:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule5 Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule5 Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule5 Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule5 Seqts ) ) holds
b1 = b2
func P6 S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP6:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule6 Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule6 Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule6 Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule6 Seqts ) ) holds
b1 = b2
func P7 S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP7:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule7 Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule7 Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule7 Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule7 Seqts ) ) holds
b1 = b2
func P8 S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP8:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule8 Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule8 Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule8 Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule8 Seqts ) ) holds
b1 = b2
func P9 S -> Relation of
(bool (S -sequents)),
(S -sequents) means :
DefP9:
for
Seqts being
Element of
bool (S -sequents) for
seqt being
Element of
S -sequents holds
(
[Seqts,seqt] in it iff
seqt Rule9 Seqts );
existence
ex b1 being Relation of (bool (S -sequents)),(S -sequents) st
for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule9 Seqts )
uniqueness
for b1, b2 being Relation of (bool (S -sequents)),(S -sequents) st ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b1 iff seqt Rule9 Seqts ) ) & ( for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule9 Seqts ) ) holds
b1 = b2
end;
:: deftheorem DefP0 defines P0 FOMODEL4:def 31 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P0 S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule0 Seqts ) );
:: deftheorem DefP1 defines P1 FOMODEL4:def 32 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P1 S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule1 Seqts ) );
:: deftheorem DefP2 defines P2 FOMODEL4:def 33 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P2 S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule2 Seqts ) );
:: deftheorem DefP3a defines P3a FOMODEL4:def 34 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P3a S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule3a Seqts ) );
:: deftheorem DefP3b defines P3b FOMODEL4:def 35 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P3b S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule3b Seqts ) );
:: deftheorem DefP3d defines P3d FOMODEL4:def 36 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P3d S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule3d Seqts ) );
:: deftheorem DefP3e defines P3e FOMODEL4:def 37 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P3e S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule3e Seqts ) );
:: deftheorem DefP4 defines P4 FOMODEL4:def 38 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P4 S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule4 Seqts ) );
:: deftheorem DefP5 defines P5 FOMODEL4:def 39 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P5 S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule5 Seqts ) );
:: deftheorem DefP6 defines P6 FOMODEL4:def 40 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P6 S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule6 Seqts ) );
:: deftheorem DefP7 defines P7 FOMODEL4:def 41 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P7 S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule7 Seqts ) );
:: deftheorem DefP8 defines P8 FOMODEL4:def 42 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P8 S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule8 Seqts ) );
:: deftheorem DefP9 defines P9 FOMODEL4:def 43 :
for S being Language
for b2 being Relation of (bool (S -sequents)),(S -sequents) holds
( b2 = P9 S iff for Seqts being Element of bool (S -sequents)
for seqt being Element of S -sequents holds
( [Seqts,seqt] in b2 iff seqt Rule9 Seqts ) );
:: deftheorem DefFr defines FuncRule FOMODEL4:def 44 :
for S being Language
for R being Relation of (bool (S -sequents)),(S -sequents)
for b3 being Rule of S holds
( b3 = FuncRule R iff for inseqs being set st inseqs in bool (S -sequents) holds
b3 . inseqs = { x where x is Element of S -sequents : [inseqs,x] in R } );
Lm1:
for S being Language
for Seqts being Subset of (S -sequents)
for seqt being Element of S -sequents
for R being Relation of (bool (S -sequents)),(S -sequents) st [Seqts,seqt] in R holds
seqt in (FuncRule R) . Seqts
Lm1b:
for S being Language
for SQ being b1 -sequents-like set
for Sq being b1 -sequent-like set
for R being Relation of (bool (S -sequents)),(S -sequents) st [SQ,Sq] in R holds
Sq is 1,SQ,{(FuncRule R)} -derivable
Lm1d:
for y being set
for S being Language
for SQ being b2 -sequents-like set
for R being Relation of (bool (S -sequents)),(S -sequents) holds
( y in (FuncRule R) . SQ iff ( y in S -sequents & [SQ,y] in R ) )
Lm1e:
for y, X being set
for S being Language
for R being Relation of (bool (S -sequents)),(S -sequents) holds
( y in (FuncRule R) . X iff ( y in S -sequents & [X,y] in R ) )
:: deftheorem defines R0 FOMODEL4:def 45 :
for S being Language holds R0 S = FuncRule (P0 S);
:: deftheorem defines R1 FOMODEL4:def 46 :
for S being Language holds R1 S = FuncRule (P1 S);
:: deftheorem defines R2 FOMODEL4:def 47 :
for S being Language holds R2 S = FuncRule (P2 S);
:: deftheorem defines R3a FOMODEL4:def 48 :
for S being Language holds R3a S = FuncRule (P3a S);
:: deftheorem defines R3b FOMODEL4:def 49 :
for S being Language holds R3b S = FuncRule (P3b S);
:: deftheorem defines R3d FOMODEL4:def 50 :
for S being Language holds R3d S = FuncRule (P3d S);
:: deftheorem defines R3e FOMODEL4:def 51 :
for S being Language holds R3e S = FuncRule (P3e S);
:: deftheorem defines R4 FOMODEL4:def 52 :
for S being Language holds R4 S = FuncRule (P4 S);
:: deftheorem defines R5 FOMODEL4:def 53 :
for S being Language holds R5 S = FuncRule (P5 S);
:: deftheorem defines R6 FOMODEL4:def 54 :
for S being Language holds R6 S = FuncRule (P6 S);
:: deftheorem defines R7 FOMODEL4:def 55 :
for S being Language holds R7 S = FuncRule (P7 S);
:: deftheorem defines R8 FOMODEL4:def 56 :
for S being Language holds R8 S = FuncRule (P8 S);
:: deftheorem defines R9 FOMODEL4:def 57 :
for S being Language holds R9 S = FuncRule (P9 S);
Lm24:
for X being set
for S being Language
for D being RuleSet of S st {(R2 S)} c= D holds
(X,D) -termEq is total
Lm25:
for X being set
for S being Language
for D being RuleSet of S st {(R3b S)} c= D & X is D -expanded holds
(X,D) -termEq is symmetric
registration
let S be
Language;
let t,
t1,
t2 be
termal string of
S;
let premises be
finite Subset of
(AllFormulasOf S);
cluster [(premises \/ {((<*(TheEqSymbOf S)*> ^ t1) ^ t2)}),((<*(TheEqSymbOf S)*> ^ t) ^ t2)] -> 1,
{[premises,((<*(TheEqSymbOf S)*> ^ t) ^ t1)]},
{(R3a S)} -derivable set ;
coherence
for b1 being set st b1 = [(premises \/ {((<*(TheEqSymbOf S)*> ^ t1) ^ t2)}),((<*(TheEqSymbOf S)*> ^ t) ^ t2)] holds
b1 is 1,{[premises,((<*(TheEqSymbOf S)*> ^ t) ^ t1)]},{(R3a S)} -derivable
end;
registration
let S be
Language;
let t,
t1,
t2 be
termal string of
S;
let phi be
wff string of
S;
cluster [{phi,((<*(TheEqSymbOf S)*> ^ t1) ^ t2)},((<*(TheEqSymbOf S)*> ^ t) ^ t2)] -> 1,
{[{phi},((<*(TheEqSymbOf S)*> ^ t) ^ t1)]},
{(R3a S)} -derivable set ;
coherence
for b1 being set st b1 = [{phi,((<*(TheEqSymbOf S)*> ^ t1) ^ t2)},((<*(TheEqSymbOf S)*> ^ t) ^ t2)] holds
b1 is 1,{[{phi},((<*(TheEqSymbOf S)*> ^ t) ^ t1)]},{(R3a S)} -derivable
end;
Lm26:
for X being set
for S being Language
for D being RuleSet of S st {(R0 S)} \/ {(R3a S)} c= D & X is D -expanded holds
(X,D) -termEq is transitive
Lm11:
for X being set
for S being Language
for D being RuleSet of S st {(R0 S),(R3a S)} c= D & {(R2 S),(R3b S)} c= D & X is D -expanded holds
(X,D) -termEq is Equivalence_Relation of (AllTermsOf S)
:: deftheorem defines PairWiseEq FOMODEL4:def 58 :
for S being Language
for m being non zero Nat
for T, U being b2 -element Element of (AllTermsOf S) * holds PairWiseEq (T,U) = { ((<*(TheEqSymbOf S)*> ^ (TT . j)) ^ (UU . j)) where j is Element of Seg m, TT, UU is Function of (Seg m),(((AllSymbolsOf S) *) \ {{}}) : ( TT = T & UU = U ) } ;
Lm41:
for S being Language
for s being low-compounding Element of S
for T, U being abs (ar b2) -element Element of (AllTermsOf S) * st s is termal holds
{[(PairWiseEq (T,U)),((<*(TheEqSymbOf S)*> ^ (s -compound T)) ^ (s -compound U))]} is {} ,{(R3d S)} -derivable
Lm44:
for S being Language
for s being relational Element of S
for T1, T2 being abs (ar b2) -element Element of (AllTermsOf S) * holds {[((PairWiseEq (T1,T2)) \/ {(s -compound T1)}),(s -compound T2)]} is {} ,{(R3e S)} -derivable
Lm42:
for X, x1, x2 being set
for S being Language
for D being RuleSet of S
for s being low-compounding Element of S st X is D -expanded & [x1,x2] in (abs (ar s)) -placesOf ((X,D) -termEq) holds
ex T, U being abs (ar b6) -element Element of (AllTermsOf S) * st
( T = x1 & U = x2 & PairWiseEq (T,U) c= X )
Lm48:
for X being set
for S being Language
for D being RuleSet of S
for s being low-compounding Element of S st {(R3d S)} c= D & X is D -expanded & s is termal holds
X -freeInterpreter s is (X,D) -termEq -respecting
Lm45:
for X, x1, x2 being set
for S being Language
for r being relational Element of S
for D being RuleSet of S st {(R3e S)} c= D & X is D -expanded & [x1,x2] in (abs (ar r)) -placesOf ((X,D) -termEq) & (r -compound) . x1 in X holds
(r -compound) . x2 in X
Lm46:
for X, x1, x2 being set
for S being Language
for r being relational Element of S
for D being RuleSet of S st {(R2 S)} /\ D = {(R2 S)} & {(R3b S)} /\ D = {(R3b S)} & D /\ {(R3e S)} = {(R3e S)} & X is D -expanded & [x1,x2] in (abs (ar r)) -placesOf ((X,D) -termEq) holds
( (r -compound) . x1 in X iff (r -compound) . x2 in X )
Lm47:
for U being non empty set
for Y being set
for x, y being Element of U holds
not ( ( x in Y implies y in Y ) & ( y in Y implies x in Y ) & not [((chi (Y,U)) . x),((chi (Y,U)) . y)] in id BOOLEAN )
Lm51:
for X being set
for S being Language
for r being relational Element of S
for D being RuleSet of S st {(R2 S)} /\ D = {(R2 S)} & {(R3b S)} /\ D = {(R3b S)} & D /\ {(R3e S)} = {(R3e S)} & X is D -expanded holds
X -freeInterpreter r is (X,D) -termEq -respecting
Lm49:
for U being non empty set
for X, x being set
for R being total reflexive Relation of U
for f being Function of X,U st x in X holds
f is {[x,x]},R -respecting
Lm50:
for U being non empty set
for S being Language
for l being literal Element of S
for E being total reflexive Relation of U
for f being Interpreter of l,U holds f is E -respecting
Lm52:
for X being set
for S being Language
for l being literal Element of S
for D being RuleSet of S st {(R0 S),(R3a S)} c= D & {(R2 S),(R3b S)} c= D & X is D -expanded holds
X -freeInterpreter l is (X,D) -termEq -respecting
Lm53:
for X being set
for S being Language
for a being ofAtomicFormula Element of S
for D being RuleSet of S st {(R0 S),(R3a S)} c= D & D /\ {(R3d S)} = {(R3d S)} & {(R2 S)} /\ D = {(R2 S)} & {(R3b S)} /\ D = {(R3b S)} & D /\ {(R3e S)} = {(R3e S)} & X is D -expanded holds
X -freeInterpreter a is (X,D) -termEq -respecting
:: deftheorem DefRank defines -ranked FOMODEL4:def 59 :
for m being Nat
for S being Language
for D being RuleSet of S holds
( ( m = 0 implies ( D is m -ranked iff ( R0 S in D & R2 S in D & R3a S in D & R3b S in D ) ) ) & ( m = 1 implies ( D is m -ranked iff ( R0 S in D & R2 S in D & R3a S in D & R3b S in D & R3d S in D & R3e S in D ) ) ) & ( m = 2 implies ( D is m -ranked iff ( R0 S in D & R1 S in D & R2 S in D & R3a S in D & R3b S in D & R3d S in D & R3e S in D & R4 S in D & R5 S in D & R6 S in D & R7 S in D & R8 S in D ) ) ) & ( not m = 0 & not m = 1 & not m = 2 implies ( D is m -ranked iff D = {} ) ) );
definition
let S be
Language;
func S -rules -> RuleSet of
S equals
{(R0 S),(R1 S),(R2 S),(R3a S),(R3b S),(R3d S),(R3e S),(R4 S)} \/ {(R5 S),(R6 S),(R7 S),(R8 S)};
coherence
{(R0 S),(R1 S),(R2 S),(R3a S),(R3b S),(R3d S),(R3e S),(R4 S)} \/ {(R5 S),(R6 S),(R7 S),(R8 S)} is RuleSet of S
;
end;
:: deftheorem defines -rules FOMODEL4:def 60 :
for S being Language holds S -rules = {(R0 S),(R1 S),(R2 S),(R3a S),(R3b S),(R3d S),(R3e S),(R4 S)} \/ {(R5 S),(R6 S),(R7 S),(R8 S)};
Lm53a:
for X being set
for S being Language
for a being ofAtomicFormula Element of S
for D being RuleSet of S st D is 1 -ranked & X is D -expanded holds
X -freeInterpreter a is (X,D) -termEq -respecting
Lm11a:
for X being set
for S being Language
for D being RuleSet of S st D is 0 -ranked & X is D -expanded holds
(X,D) -termEq is Equivalence_Relation of (AllTermsOf S)
theorem
Lm40:
for m, n being Nat
for x, y, z being set
for S being Language
for D1, D2, D3 being RuleSet of S
for SQ1, SQ2 being b6 -sequents-like set st D1 \/ D2 is isotone & (D1 \/ D2) \/ D3 is isotone & x is m,SQ1,D1 -derivable & y is m,SQ2,D2 -derivable & z is n,{x,y},D3 -derivable holds
z is m + n,SQ1 \/ SQ2,(D1 \/ D2) \/ D3 -derivable
Lm35:
for x, X being set
for S being Language
for D1, D2 being RuleSet of S st D1 c= D2 & ( D1 is isotone or D2 is isotone ) & x is X,D1 -provable holds
x is X,D2 -provable
Lm22:
for x, X being set
for S being Language
for R being Rule of S st x in R . X holds
x is 1,X,{R} -derivable
registration
let S be
Language;
let phi1,
phi2 be
wff string of
S;
cluster [{(xnot phi1),(xnot phi2)},((<*(TheNorSymbOf S)*> ^ phi1) ^ phi2)] -> 1,
{[{(xnot phi1),(xnot phi2)},(xnot phi1)],[{(xnot phi1),(xnot phi2)},(xnot phi2)]},
{(R6 S)} -derivable set ;
coherence
for b1 being set st b1 = [{(xnot phi1),(xnot phi2)},((<*(TheNorSymbOf S)*> ^ phi1) ^ phi2)] holds
b1 is 1,{[{(xnot phi1),(xnot phi2)},(xnot phi1)],[{(xnot phi1),(xnot phi2)},(xnot phi2)]},{(R6 S)} -derivable
end;
theorem Th3:
theorem
:: deftheorem DefExpanded2 defines -expanded FOMODEL4:def 61 :
for S being Language
for D being RuleSet of S
for X being set holds
( X is D -expanded iff for x being set st x is X,D -provable holds
x in X );
theorem Lm2:
theorem
for
m,
n being
Nat for
x,
y,
z being
set for
S being
Language for
D1,
D2,
D3 being
RuleSet of
S for
SQ1,
SQ2 being
b6 -sequents-like set st
D1 \/ D2 is
isotone &
(D1 \/ D2) \/ D3 is
isotone &
x is
m,
SQ1,
D1 -derivable &
y is
m,
SQ2,
D2 -derivable &
z is
n,
{x,y},
D3 -derivable holds
z is
m + n,
SQ1 \/ SQ2,
(D1 \/ D2) \/ D3 -derivable by Lm40;
theorem
for
m,
n being
Nat for
y,
X,
z being
set for
S being
Language for
D1,
D2 being
RuleSet of
S st
D1 is
isotone &
D1 \/ D2 is
isotone &
y is
m,
X,
D1 -derivable &
z is
n,
{y},
D2 -derivable holds
z is
m + n,
X,
D1 \/ D2 -derivable by Lm28;
theorem
theorem
theorem
theorem
:: deftheorem DefProvable3 defines -provable FOMODEL4:def 62 :
for S being Language
for D being RuleSet of S
for X, x being set holds
( x is X,D -provable iff ex H being set ex m being Nat st
( H c= X & [H,x] is m, {} ,D -derivable ) );
theorem Th12:
theorem
:: deftheorem defines Henkin FOMODEL4:def 63 :
for S being Language
for D being 0 -ranked RuleSet of S
for X being b2 -expanded set holds D Henkin X = ((S,X) -freeInterpreter) quotient ((X,D) -termEq);
:: deftheorem DefPremLike defines -premises-like FOMODEL4:def 64 :
for S being Language
for x being set holds
( x is S -premises-like iff ( x c= AllFormulasOf S & x is finite ) );
registration
let S be
Language;
let H be
S -premises-like set ;
let phi,
phi1,
phi2 be
wff string of
S;
cluster [(H null (phi1 ^ phi2)),(xnot phi)] -> 1,
{[(H \/ {phi}),phi1],[(H \/ {phi}),((<*(TheNorSymbOf S)*> ^ phi1) ^ phi2)]},
{(R8 S)} -derivable set ;
coherence
for b1 being set st b1 = [(H null (phi1 ^ phi2)),(xnot phi)] holds
b1 is 1,{[(H \/ {phi}),phi1],[(H \/ {phi}),((<*(TheNorSymbOf S)*> ^ phi1) ^ phi2)]},{(R8 S)} -derivable
end;
registration
let S be
Language;
let phi1,
phi2 be
wff string of
S;
let l1 be
literal Element of
S;
let H be
S -premises-like set ;
let l2 be
literal (H \/ {phi1}) \/ {phi2} -absent Element of
S;
cluster [((H \/ {(<*l1*> ^ phi1)}) null l2),phi2] -> 1,
{[(H \/ {((l1,l2) -SymbolSubstIn phi1)}),phi2]},
{(R5 S)} -derivable set ;
coherence
for b1 being set st b1 = [((H \/ {(<*l1*> ^ phi1)}) null l2),phi2] holds
b1 is 1,{[(H \/ {((l1,l2) -SymbolSubstIn phi1)}),phi2]},{(R5 S)} -derivable
end;
:: deftheorem DefInc defines -inconsistent FOMODEL4:def 65 :
for S being Language
for D being RuleSet of S
for X being set holds
( X is D -inconsistent iff ex phi1, phi2 being wff string of S st
( phi1 is X,D -provable & (<*(TheNorSymbOf S)*> ^ phi1) ^ phi2 is X,D -provable ) );
theorem Th14:
Lm12:
for S being Language
for D1 being 0 -ranked 1 -ranked RuleSet of S
for X being b2 -expanded set
for phi being 0wff string of S holds
( (D1 Henkin X) -AtomicEval phi = 1 iff phi in X )
:: deftheorem DefWit1 defines -witnessed FOMODEL4:def 66 :
for S being Language
for X being set holds
( X is S -witnessed iff for l1 being literal Element of S
for phi1 being wff string of S st <*l1*> ^ phi1 in X holds
ex l2 being literal Element of S st
( (l1,l2) -SymbolSubstIn phi1 in X & not l2 in rng phi1 ) );
theorem Th15:
theorem Th16:
:: deftheorem DefWit2 defines AddAsWitnessTo FOMODEL4:def 67 :
for S being Language
for D being RuleSet of S
for X being functional set
for phi being Element of ExFormulasOf S holds
( ( not X \/ {phi} is D -inconsistent & (LettersOf S) \ (SymbolsOf ((((AllSymbolsOf S) *) \ {{}}) /\ (X \/ {(head phi)}))) <> {} implies (D,phi) AddAsWitnessTo X = X \/ {((((S -firstChar) . phi), the Element of (LettersOf S) \ (SymbolsOf ((((AllSymbolsOf S) *) \ {{}}) /\ (X \/ {(head phi)})))) -SymbolSubstIn (head phi))} ) & ( ( X \/ {phi} is D -inconsistent or not (LettersOf S) \ (SymbolsOf ((((AllSymbolsOf S) *) \ {{}}) /\ (X \/ {(head phi)}))) <> {} ) implies (D,phi) AddAsWitnessTo X = X ) );
:: deftheorem DefCorrect defines Correct FOMODEL4:def 68 :
for S being Language
for D being RuleSet of S holds
( D is Correct iff for phi being wff string of S
for X being set st phi is X,D -provable holds
for U being non empty set
for I being Element of U -InterpretersOf S st X is I -satisfied holds
I -TruthEval phi = 1 );
Lm2b:
for X being set
for S being Language
for phi being wff string of S
for D being RuleSet of S st D is isotone & R1 S in D & R8 S in D & X \/ {phi} is D -inconsistent holds
xnot phi is X,D -provable
Lm1:
for X being set
for S being Language
for D being RuleSet of S holds
( not X is D -inconsistent iff for Y being finite Subset of X holds not Y is D -inconsistent )
Lm8:
for X being set
for S being Language
for D being RuleSet of S st R0 S in D & X is S -covering & not X is D -inconsistent holds
( X is S -mincover & X is D -expanded )
Lm3:
for X being set
for S being Language
for phi being wff string of S
for D being RuleSet of S st D is isotone & R1 S in D & R8 S in D & phi is X,D -provable & not X is D -inconsistent holds
not X \/ {phi} is D -inconsistent
Lm11:
for U being non empty set
for X being set
for S being Language
for D being RuleSet of S
for I being Element of U -InterpretersOf S st D is Correct & X is I -satisfied holds
not X is D -inconsistent
Lm36:
for U being non empty set
for S being Language
for t1, t2 being termal string of S
for I being b2,b1 -interpreter-like Function holds
( I -AtomicEval ((<*(TheEqSymbOf S)*> ^ t1) ^ t2) = 1 iff (I -TermEval) . t1 = (I -TermEval) . t2 )
:: deftheorem RuleCorr defines Correct FOMODEL4:def 69 :
for S being Language
for R being Rule of S holds
( R is Correct iff for X being set st X is S -correct holds
R . X is S -correct );
Lm60:
for S being Language holds R0 S is Correct
Lm61:
for S being Language holds R1 S is Correct
Lm62:
for S being Language holds R2 S is Correct
Lm63a:
for S being Language holds R3a S is Correct
Lm63b:
for S being Language holds R3b S is Correct
Lm63d:
for S being Language holds R3d S is Correct
Lm63e:
for S being Language holds R3e S is Correct
Lm64:
for S being Language holds R4 S is Correct
Lm65:
for S being Language holds R5 S is Correct
Lm66:
for S being Language holds R6 S is Correct
Lm67:
for S being Language holds R7 S is Correct
Lm68:
for S being Language holds R8 S is Correct
theorem Th17:
:: deftheorem DefProvable4 defines -provable FOMODEL4:def 70 :
for X being set
for S being Language
for phi being wff string of S holds
( phi is X -provable iff phi is X,{(R9 S)} \/ (S -rules) -provable );
begin
definition
let X be
functional set ;
let S be
Language;
let D be
RuleSet of
S;
let num be
Function of
NAT,
(ExFormulasOf S);
set SS =
AllSymbolsOf S;
set EF =
ExFormulasOf S;
set FF =
AllFormulasOf S;
set Y =
X \/ (AllFormulasOf S);
set DD =
bool (X \/ (AllFormulasOf S));
func (
D,
num)
AddWitnessesTo X -> Function of
NAT,
(bool (X \/ (AllFormulasOf S))) means :
DefWit3:
(
it . 0 = X & ( for
mm being
Element of
NAT holds
it . (mm + 1) = (
D,
(num . mm))
AddAsWitnessTo (it . mm) ) );
existence
ex b1 being Function of NAT,(bool (X \/ (AllFormulasOf S))) st
( b1 . 0 = X & ( for mm being Element of NAT holds b1 . (mm + 1) = (D,(num . mm)) AddAsWitnessTo (b1 . mm) ) )
uniqueness
for b1, b2 being Function of NAT,(bool (X \/ (AllFormulasOf S))) st b1 . 0 = X & ( for mm being Element of NAT holds b1 . (mm + 1) = (D,(num . mm)) AddAsWitnessTo (b1 . mm) ) & b2 . 0 = X & ( for mm being Element of NAT holds b2 . (mm + 1) = (D,(num . mm)) AddAsWitnessTo (b2 . mm) ) holds
b1 = b2
end;
:: deftheorem DefWit3 defines AddWitnessesTo FOMODEL4:def 71 :
for X being functional set
for S being Language
for D being RuleSet of S
for num being Function of NAT,(ExFormulasOf S)
for b5 being Function of NAT,(bool (X \/ (AllFormulasOf S))) holds
( b5 = (D,num) AddWitnessesTo X iff ( b5 . 0 = X & ( for mm being Element of NAT holds b5 . (mm + 1) = (D,(num . mm)) AddAsWitnessTo (b5 . mm) ) ) );
Lm30:
for X being set
for S being Language
for phi being wff string of S
for l1, l2 being literal Element of S
for D being RuleSet of S st D is isotone & R1 S in D & R8 S in D & R2 S in D & R5 S in D & X \/ {((l1,l2) -SymbolSubstIn phi)} is D -inconsistent & not l2 is X \/ {phi} -occurring holds
X \/ {(<*l1*> ^ phi)} is D -inconsistent
theorem Th18:
:: deftheorem defines WithWitnessesFrom FOMODEL4:def 72 :
for X being functional set
for S being Language
for D being RuleSet of S
for num being Function of NAT,(ExFormulasOf S) holds X WithWitnessesFrom (D,num) = union (rng ((D,num) AddWitnessesTo X));
Lm6:
for S being Language
for D being RuleSet of S
for X being functional set
for num being Function of NAT,(ExFormulasOf S) st D is isotone & R1 S in D & R2 S in D & R5 S in D & R8 S in D & not (LettersOf S) \ (SymbolsOf (X /\ (((AllSymbolsOf S) *) \ {{}}))) is finite & not X is D -inconsistent holds
not X addw (D,num) is D -inconsistent
theorem Th19:
begin
:: deftheorem DefAdd1 defines AddFormulaTo FOMODEL4:def 73 :
for X being set
for S being Language
for D being RuleSet of S
for phi being Element of AllFormulasOf S holds
( ( not xnot phi is X,D -provable implies (D,phi) AddFormulaTo X = X \/ {phi} ) & ( xnot phi is X,D -provable implies (D,phi) AddFormulaTo X = X \/ {(xnot phi)} ) );
definition
let X be
set ;
let S be
Language;
let D be
RuleSet of
S;
let num be
Function of
NAT,
(AllFormulasOf S);
set SS =
AllSymbolsOf S;
set FF =
AllFormulasOf S;
set Y =
X \/ (AllFormulasOf S);
set DD =
bool (X \/ (AllFormulasOf S));
func (
D,
num)
AddFormulasTo X -> Function of
NAT,
(bool (X \/ (AllFormulasOf S))) means :
DefAdd2:
(
it . 0 = X & ( for
m being
Nat holds
it . (m + 1) = (
D,
(num . m))
AddFormulaTo (it . m) ) );
existence
ex b1 being Function of NAT,(bool (X \/ (AllFormulasOf S))) st
( b1 . 0 = X & ( for m being Nat holds b1 . (m + 1) = (D,(num . m)) AddFormulaTo (b1 . m) ) )
uniqueness
for b1, b2 being Function of NAT,(bool (X \/ (AllFormulasOf S))) st b1 . 0 = X & ( for m being Nat holds b1 . (m + 1) = (D,(num . m)) AddFormulaTo (b1 . m) ) & b2 . 0 = X & ( for m being Nat holds b2 . (m + 1) = (D,(num . m)) AddFormulaTo (b2 . m) ) holds
b1 = b2
end;
:: deftheorem DefAdd2 defines AddFormulasTo FOMODEL4:def 74 :
for X being set
for S being Language
for D being RuleSet of S
for num being Function of NAT,(AllFormulasOf S)
for b5 being Function of NAT,(bool (X \/ (AllFormulasOf S))) holds
( b5 = (D,num) AddFormulasTo X iff ( b5 . 0 = X & ( for m being Nat holds b5 . (m + 1) = (D,(num . m)) AddFormulaTo (b5 . m) ) ) );
Lm4:
for k, m being Nat
for X being set
for S being Language
for D being RuleSet of S
for num being Function of NAT,(AllFormulasOf S) st D is isotone & R1 S in D & R8 S in D & not X is D -inconsistent holds
( ((D,num) AddFormulasTo X) . k c= ((D,num) AddFormulasTo X) . (k + m) & not ((D,num) AddFormulasTo X) . m is D -inconsistent )
:: deftheorem defines CompletionOf FOMODEL4:def 75 :
for X being set
for S being Language
for D being RuleSet of S
for num being Function of NAT,(AllFormulasOf S) holds (D,num) CompletionOf X = union (rng ((D,num) AddFormulasTo X));
Lm5:
for X being set
for S being Language
for D being RuleSet of S
for num being Function of NAT,(AllFormulasOf S) st rng num = AllFormulasOf S holds
(D,num) CompletionOf X is S -covering
Lm7:
for X being set
for S being Language
for D being RuleSet of S
for num being Function of NAT,(AllFormulasOf S) st D is isotone & R1 S in D & R8 S in D & not X is D -inconsistent holds
not (D,num) CompletionOf X is D -inconsistent
theorem
Lm37:
for S being Language
for D2 being 2 -ranked RuleSet of S
for X being functional set st AllFormulasOf S is countable & not (LettersOf S) \ (SymbolsOf (X /\ (((AllSymbolsOf S) *) \ {{}}))) is finite & not X is D2 -inconsistent & D2 is isotone holds
ex U being non empty set ex I being Element of U -InterpretersOf S st X is I -satisfied
Lm38:
for S being Language
for D2 being 2 -ranked RuleSet of S
for X being functional set st X is finite & AllFormulasOf S is countable & not X is D2 -inconsistent & D2 is isotone holds
ex U being non empty set ex I being Element of U -InterpretersOf S st X is I -satisfied
Lm39:
for U being non empty set
for X being set
for S1, S2 being Language
for I1 being Element of U -InterpretersOf S1
for I2 being Element of U -InterpretersOf S2 st S2 is S1 -extending & X c= AllFormulasOf S1 & I1 | (OwnSymbolsOf S1) = I2 | (OwnSymbolsOf S1) holds
( X is I1 -satisfied iff X is I2 -satisfied )
theorem Th21:
Lm55:
for Z being set
for S being countable Language
for phi being wff string of S st Z c= AllFormulasOf S & xnot phi is Z -implied holds
xnot phi is Z,S -rules -provable
theorem