:: LANG1 semantic presentation
:: deftheorem Def1 defines ==> LANG1:def 1 :
:: deftheorem Def2 defines Terminals LANG1:def 2 :
:: deftheorem Def3 defines NonTerminals LANG1:def 3 :
theorem Th1: :: LANG1:1
:: deftheorem Def4 defines ==> LANG1:def 4 :
theorem Th2: :: LANG1:2
theorem Th3: :: LANG1:3
theorem Th4: :: LANG1:4
theorem Th5: :: LANG1:5
:: deftheorem Def5 defines is_derivable_from LANG1:def 5 :
theorem Th6: :: LANG1:6
theorem Th7: :: LANG1:7
theorem Th8: :: LANG1:8
:: deftheorem Def6 defines Lang LANG1:def 6 :
theorem Th9: :: LANG1:9
definition
let c1 be
set ;
func EmptyGrammar c1 -> strict GrammarStr means :
Def7:
:: LANG1:def 7
( the
carrier of
a2 = {a1} & the
Rules of
a2 = {[a1,{} ]} );
existence
ex b1 being strict GrammarStr st
( the carrier of b1 = {c1} & the Rules of b1 = {[c1,{} ]} )
uniqueness
for b1, b2 being strict GrammarStr st the carrier of b1 = {c1} & the Rules of b1 = {[c1,{} ]} & the carrier of b2 = {c1} & the Rules of b2 = {[c1,{} ]} holds
b1 = b2
let c2 be
set ;
func SingleGrammar c1,
c2 -> strict GrammarStr means :
Def8:
:: LANG1:def 8
( the
carrier of
a3 = {a1,a2} & the
InitialSym of
a3 = a1 & the
Rules of
a3 = {[a1,<*a2*>]} );
existence
ex b1 being strict GrammarStr st
( the carrier of b1 = {c1,c2} & the InitialSym of b1 = c1 & the Rules of b1 = {[c1,<*c2*>]} )
uniqueness
for b1, b2 being strict GrammarStr st the carrier of b1 = {c1,c2} & the InitialSym of b1 = c1 & the Rules of b1 = {[c1,<*c2*>]} & the carrier of b2 = {c1,c2} & the InitialSym of b2 = c1 & the Rules of b2 = {[c1,<*c2*>]} holds
b1 = b2
;
func IterGrammar c1,
c2 -> strict GrammarStr means :
Def9:
:: LANG1:def 9
( the
carrier of
a3 = {a1,a2} & the
InitialSym of
a3 = a1 & the
Rules of
a3 = {[a1,<*a2,a1*>],[a1,{} ]} );
existence
ex b1 being strict GrammarStr st
( the carrier of b1 = {c1,c2} & the InitialSym of b1 = c1 & the Rules of b1 = {[c1,<*c2,c1*>],[c1,{} ]} )
uniqueness
for b1, b2 being strict GrammarStr st the carrier of b1 = {c1,c2} & the InitialSym of b1 = c1 & the Rules of b1 = {[c1,<*c2,c1*>],[c1,{} ]} & the carrier of b2 = {c1,c2} & the InitialSym of b2 = c1 & the Rules of b2 = {[c1,<*c2,c1*>],[c1,{} ]} holds
b1 = b2
;
end;
:: deftheorem Def7 defines EmptyGrammar LANG1:def 7 :
:: deftheorem Def8 defines SingleGrammar LANG1:def 8 :
:: deftheorem Def9 defines IterGrammar LANG1:def 9 :
definition
let c1 be non
empty set ;
func TotalGrammar c1 -> strict GrammarStr means :
Def10:
:: LANG1:def 10
( the
carrier of
a2 = a1 \/ {a1} & the
InitialSym of
a2 = a1 & the
Rules of
a2 = { [a1,<*b1,a1*>] where B is Element of a1 : b1 = b1 } \/ {[a1,{} ]} );
existence
ex b1 being strict GrammarStr st
( the carrier of b1 = c1 \/ {c1} & the InitialSym of b1 = c1 & the Rules of b1 = { [c1,<*b2,c1*>] where B is Element of c1 : b2 = b2 } \/ {[c1,{} ]} )
uniqueness
for b1, b2 being strict GrammarStr st the carrier of b1 = c1 \/ {c1} & the InitialSym of b1 = c1 & the Rules of b1 = { [c1,<*b3,c1*>] where B is Element of c1 : b3 = b3 } \/ {[c1,{} ]} & the carrier of b2 = c1 \/ {c1} & the InitialSym of b2 = c1 & the Rules of b2 = { [c1,<*b3,c1*>] where B is Element of c1 : b3 = b3 } \/ {[c1,{} ]} holds
b1 = b2
;
end;
:: deftheorem Def10 defines TotalGrammar LANG1:def 10 :
theorem Th10: :: LANG1:10
theorem Th11: :: LANG1:11
theorem Th12: :: LANG1:12
theorem Th13: :: LANG1:13
theorem Th14: :: LANG1:14
theorem Th15: :: LANG1:15
theorem Th16: :: LANG1:16
theorem Th17: :: LANG1:17
:: deftheorem Def11 defines efective LANG1:def 11 :
:: deftheorem Def12 defines finite LANG1:def 12 :
:: deftheorem Def13 LANG1:def 13 :
canceled;
:: deftheorem Def14 defines * LANG1:def 14 :
theorem Th18: :: LANG1:18
:: deftheorem Def15 defines . LANG1:def 15 :