Article INTPRO_1, MML version 4.99.1005
:: INTPRO_1:attrnot 1 => INTPRO_1:attr 1
definition
let a1 be set;
attr a1 is with_FALSUM means
<*0*> in a1;
end;
:: INTPRO_1:dfs 1
definiens
let a1 be set;
To prove
a1 is with_FALSUM
it is sufficient to prove
thus <*0*> in a1;
:: INTPRO_1:def 1
theorem
for b1 being set holds
b1 is with_FALSUM
iff
<*0*> in b1;
:: INTPRO_1:attrnot 2 => INTPRO_1:attr 2
definition
let a1 be set;
attr a1 is with_int_implication means
for b1, b2 being Relation-like Function-like FinSequence-like set
st b1 in a1 & b2 in a1
holds (<*1*> ^ b1) ^ b2 in a1;
end;
:: INTPRO_1:dfs 2
definiens
let a1 be set;
To prove
a1 is with_int_implication
it is sufficient to prove
thus for b1, b2 being Relation-like Function-like FinSequence-like set
st b1 in a1 & b2 in a1
holds (<*1*> ^ b1) ^ b2 in a1;
:: INTPRO_1:def 2
theorem
for b1 being set holds
b1 is with_int_implication
iff
for b2, b3 being Relation-like Function-like FinSequence-like set
st b2 in b1 & b3 in b1
holds (<*1*> ^ b2) ^ b3 in b1;
:: INTPRO_1:attrnot 3 => INTPRO_1:attr 3
definition
let a1 be set;
attr a1 is with_int_conjunction means
for b1, b2 being Relation-like Function-like FinSequence-like set
st b1 in a1 & b2 in a1
holds (<*2*> ^ b1) ^ b2 in a1;
end;
:: INTPRO_1:dfs 3
definiens
let a1 be set;
To prove
a1 is with_int_conjunction
it is sufficient to prove
thus for b1, b2 being Relation-like Function-like FinSequence-like set
st b1 in a1 & b2 in a1
holds (<*2*> ^ b1) ^ b2 in a1;
:: INTPRO_1:def 3
theorem
for b1 being set holds
b1 is with_int_conjunction
iff
for b2, b3 being Relation-like Function-like FinSequence-like set
st b2 in b1 & b3 in b1
holds (<*2*> ^ b2) ^ b3 in b1;
:: INTPRO_1:attrnot 4 => INTPRO_1:attr 4
definition
let a1 be set;
attr a1 is with_int_disjunction means
for b1, b2 being Relation-like Function-like FinSequence-like set
st b1 in a1 & b2 in a1
holds (<*3*> ^ b1) ^ b2 in a1;
end;
:: INTPRO_1:dfs 4
definiens
let a1 be set;
To prove
a1 is with_int_disjunction
it is sufficient to prove
thus for b1, b2 being Relation-like Function-like FinSequence-like set
st b1 in a1 & b2 in a1
holds (<*3*> ^ b1) ^ b2 in a1;
:: INTPRO_1:def 4
theorem
for b1 being set holds
b1 is with_int_disjunction
iff
for b2, b3 being Relation-like Function-like FinSequence-like set
st b2 in b1 & b3 in b1
holds (<*3*> ^ b2) ^ b3 in b1;
:: INTPRO_1:attrnot 5 => INTPRO_1:attr 5
definition
let a1 be set;
attr a1 is with_int_propositional_variables means
for b1 being Element of NAT holds
<*5 + (2 * b1)*> in a1;
end;
:: INTPRO_1:dfs 5
definiens
let a1 be set;
To prove
a1 is with_int_propositional_variables
it is sufficient to prove
thus for b1 being Element of NAT holds
<*5 + (2 * b1)*> in a1;
:: INTPRO_1:def 5
theorem
for b1 being set holds
b1 is with_int_propositional_variables
iff
for b2 being Element of NAT holds
<*5 + (2 * b2)*> in b1;
:: INTPRO_1:attrnot 6 => INTPRO_1:attr 6
definition
let a1 be set;
attr a1 is with_modal_operator means
for b1 being Relation-like Function-like FinSequence-like set
st b1 in a1
holds <*6*> ^ b1 in a1;
end;
:: INTPRO_1:dfs 6
definiens
let a1 be set;
To prove
a1 is with_modal_operator
it is sufficient to prove
thus for b1 being Relation-like Function-like FinSequence-like set
st b1 in a1
holds <*6*> ^ b1 in a1;
:: INTPRO_1:def 6
theorem
for b1 being set holds
b1 is with_modal_operator
iff
for b2 being Relation-like Function-like FinSequence-like set
st b2 in b1
holds <*6*> ^ b2 in b1;
:: INTPRO_1:attrnot 7 => INTPRO_1:attr 7
definition
let a1 be set;
attr a1 is MC-closed means
a1 c= NAT * & a1 is with_FALSUM & a1 is with_int_implication & a1 is with_int_conjunction & a1 is with_int_disjunction & a1 is with_int_propositional_variables & a1 is with_modal_operator;
end;
:: INTPRO_1:dfs 7
definiens
let a1 be set;
To prove
a1 is MC-closed
it is sufficient to prove
thus a1 c= NAT * & a1 is with_FALSUM & a1 is with_int_implication & a1 is with_int_conjunction & a1 is with_int_disjunction & a1 is with_int_propositional_variables & a1 is with_modal_operator;
:: INTPRO_1:def 7
theorem
for b1 being set holds
b1 is MC-closed
iff
b1 c= NAT * & b1 is with_FALSUM & b1 is with_int_implication & b1 is with_int_conjunction & b1 is with_int_disjunction & b1 is with_int_propositional_variables & b1 is with_modal_operator;
:: INTPRO_1:condreg 1
registration
cluster MC-closed -> non empty with_FALSUM with_int_implication with_int_conjunction with_int_disjunction with_int_propositional_variables with_modal_operator (set);
end;
:: INTPRO_1:condreg 2
registration
cluster with_FALSUM with_int_implication with_int_conjunction with_int_disjunction with_int_propositional_variables with_modal_operator -> MC-closed (Element of bool (NAT *));
end;
:: INTPRO_1:funcnot 1 => INTPRO_1:func 1
definition
func MC-wff -> set means
it is MC-closed &
(for b1 being set
st b1 is MC-closed
holds it c= b1);
end;
:: INTPRO_1:def 8
theorem
for b1 being set holds
b1 = MC-wff
iff
b1 is MC-closed &
(for b2 being set
st b2 is MC-closed
holds b1 c= b2);
:: INTPRO_1:funcreg 1
registration
cluster MC-wff -> MC-closed;
end;
:: INTPRO_1:exreg 1
registration
cluster non empty MC-closed set;
end;
:: INTPRO_1:funcreg 2
registration
cluster MC-wff -> functional;
end;
:: INTPRO_1:condreg 3
registration
cluster -> FinSequence-like (Element of MC-wff);
end;
:: INTPRO_1:modenot 1
definition
mode MC-formula is Element of MC-wff;
end;
:: INTPRO_1:funcnot 2 => INTPRO_1:func 2
definition
func FALSUM -> Element of MC-wff equals
<*0*>;
end;
:: INTPRO_1:def 9
theorem
FALSUM = <*0*>;
:: INTPRO_1:funcnot 3 => INTPRO_1:func 3
definition
let a1, a2 be Element of MC-wff;
func A1 => A2 -> Element of MC-wff equals
(<*1*> ^ a1) ^ a2;
end;
:: INTPRO_1:def 10
theorem
for b1, b2 being Element of MC-wff holds
b1 => b2 = (<*1*> ^ b1) ^ b2;
:: INTPRO_1:funcnot 4 => INTPRO_1:func 4
definition
let a1, a2 be Element of MC-wff;
func A1 '&' A2 -> Element of MC-wff equals
(<*2*> ^ a1) ^ a2;
end;
:: INTPRO_1:def 11
theorem
for b1, b2 being Element of MC-wff holds
b1 '&' b2 = (<*2*> ^ b1) ^ b2;
:: INTPRO_1:funcnot 5 => INTPRO_1:func 5
definition
let a1, a2 be Element of MC-wff;
func A1 'or' A2 -> Element of MC-wff equals
(<*3*> ^ a1) ^ a2;
end;
:: INTPRO_1:def 12
theorem
for b1, b2 being Element of MC-wff holds
b1 'or' b2 = (<*3*> ^ b1) ^ b2;
:: INTPRO_1:funcnot 6 => INTPRO_1:func 6
definition
let a1 be Element of MC-wff;
func Nes A1 -> Element of MC-wff equals
<*6*> ^ a1;
end;
:: INTPRO_1:def 13
theorem
for b1 being Element of MC-wff holds
Nes b1 = <*6*> ^ b1;
:: INTPRO_1:attrnot 8 => INTPRO_1:attr 8
definition
let a1 be Element of bool MC-wff;
attr a1 is IPC_theory means
for b1, b2, b3 being Element of MC-wff holds
b1 => (b2 => b1) in a1 &
(b1 => (b2 => b3)) => ((b1 => b2) => (b1 => b3)) in a1 &
(b1 '&' b2) => b1 in a1 &
(b1 '&' b2) => b2 in a1 &
b1 => (b2 => (b1 '&' b2)) in a1 &
b1 => (b1 'or' b2) in a1 &
b2 => (b1 'or' b2) in a1 &
(b1 => b3) => ((b2 => b3) => ((b1 'or' b2) => b3)) in a1 &
FALSUM => b1 in a1 &
(b1 in a1 & b1 => b2 in a1 implies b2 in a1);
end;
:: INTPRO_1:dfs 14
definiens
let a1 be Element of bool MC-wff;
To prove
a1 is IPC_theory
it is sufficient to prove
thus for b1, b2, b3 being Element of MC-wff holds
b1 => (b2 => b1) in a1 &
(b1 => (b2 => b3)) => ((b1 => b2) => (b1 => b3)) in a1 &
(b1 '&' b2) => b1 in a1 &
(b1 '&' b2) => b2 in a1 &
b1 => (b2 => (b1 '&' b2)) in a1 &
b1 => (b1 'or' b2) in a1 &
b2 => (b1 'or' b2) in a1 &
(b1 => b3) => ((b2 => b3) => ((b1 'or' b2) => b3)) in a1 &
FALSUM => b1 in a1 &
(b1 in a1 & b1 => b2 in a1 implies b2 in a1);
:: INTPRO_1:def 14
theorem
for b1 being Element of bool MC-wff holds
b1 is IPC_theory
iff
for b2, b3, b4 being Element of MC-wff holds
b2 => (b3 => b2) in b1 &
(b2 => (b3 => b4)) => ((b2 => b3) => (b2 => b4)) in b1 &
(b2 '&' b3) => b2 in b1 &
(b2 '&' b3) => b3 in b1 &
b2 => (b3 => (b2 '&' b3)) in b1 &
b2 => (b2 'or' b3) in b1 &
b3 => (b2 'or' b3) in b1 &
(b2 => b4) => ((b3 => b4) => ((b2 'or' b3) => b4)) in b1 &
FALSUM => b2 in b1 &
(b2 in b1 & b2 => b3 in b1 implies b3 in b1);
:: INTPRO_1:funcnot 7 => INTPRO_1:func 7
definition
let a1 be Element of bool MC-wff;
func CnIPC A1 -> Element of bool MC-wff means
for b1 being Element of MC-wff holds
b1 in it
iff
for b2 being Element of bool MC-wff
st b2 is IPC_theory & a1 c= b2
holds b1 in b2;
end;
:: INTPRO_1:def 15
theorem
for b1, b2 being Element of bool MC-wff holds
b2 = CnIPC b1
iff
for b3 being Element of MC-wff holds
b3 in b2
iff
for b4 being Element of bool MC-wff
st b4 is IPC_theory & b1 c= b4
holds b3 in b4;
:: INTPRO_1:funcnot 8 => INTPRO_1:func 8
definition
func IPC-Taut -> Element of bool MC-wff equals
CnIPC {} MC-wff;
end;
:: INTPRO_1:def 16
theorem
IPC-Taut = CnIPC {} MC-wff;
:: INTPRO_1:funcnot 9 => INTPRO_1:func 9
definition
let a1 be Element of MC-wff;
func neg A1 -> Element of MC-wff equals
a1 => FALSUM;
end;
:: INTPRO_1:def 17
theorem
for b1 being Element of MC-wff holds
neg b1 = b1 => FALSUM;
:: INTPRO_1:funcnot 10 => INTPRO_1:func 10
definition
func IVERUM -> Element of MC-wff equals
FALSUM => FALSUM;
end;
:: INTPRO_1:def 18
theorem
IVERUM = FALSUM => FALSUM;
:: INTPRO_1:th 1
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff holds
b2 => (b3 => b2) in CnIPC b1;
:: INTPRO_1:th 2
theorem
for b1 being Element of bool MC-wff
for b2, b3, b4 being Element of MC-wff holds
(b2 => (b3 => b4)) => ((b2 => b3) => (b2 => b4)) in CnIPC b1;
:: INTPRO_1:th 3
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff holds
(b2 '&' b3) => b2 in CnIPC b1;
:: INTPRO_1:th 4
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff holds
(b2 '&' b3) => b3 in CnIPC b1;
:: INTPRO_1:th 5
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff holds
b2 => (b3 => (b2 '&' b3)) in CnIPC b1;
:: INTPRO_1:th 6
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff holds
b2 => (b2 'or' b3) in CnIPC b1;
:: INTPRO_1:th 7
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff holds
b2 => (b3 'or' b2) in CnIPC b1;
:: INTPRO_1:th 8
theorem
for b1 being Element of bool MC-wff
for b2, b3, b4 being Element of MC-wff holds
(b2 => b3) => ((b4 => b3) => ((b2 'or' b4) => b3)) in CnIPC b1;
:: INTPRO_1:th 9
theorem
for b1 being Element of bool MC-wff
for b2 being Element of MC-wff holds
FALSUM => b2 in CnIPC b1;
:: INTPRO_1:th 10
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff
st b2 in CnIPC b1 & b2 => b3 in CnIPC b1
holds b3 in CnIPC b1;
:: INTPRO_1:th 11
theorem
for b1, b2 being Element of bool MC-wff
st b1 is IPC_theory & b2 c= b1
holds CnIPC b2 c= b1;
:: INTPRO_1:th 12
theorem
for b1 being Element of bool MC-wff holds
b1 c= CnIPC b1;
:: INTPRO_1:th 13
theorem
for b1, b2 being Element of bool MC-wff
st b1 c= b2
holds CnIPC b1 c= CnIPC b2;
:: INTPRO_1:th 14
theorem
for b1 being Element of bool MC-wff holds
CnIPC CnIPC b1 = CnIPC b1;
:: INTPRO_1:funcreg 3
registration
let a1 be Element of bool MC-wff;
cluster CnIPC a1 -> IPC_theory;
end;
:: INTPRO_1:th 15
theorem
for b1 being Element of bool MC-wff holds
b1 is IPC_theory
iff
CnIPC b1 = b1;
:: INTPRO_1:th 16
theorem
for b1 being Element of bool MC-wff
st b1 is IPC_theory
holds IPC-Taut c= b1;
:: INTPRO_1:funcreg 4
registration
cluster IPC-Taut -> IPC_theory;
end;
:: INTPRO_1:th 17
theorem
for b1 being Element of MC-wff holds
b1 => b1 in IPC-Taut;
:: INTPRO_1:th 18
theorem
for b1, b2 being Element of MC-wff
st b1 in IPC-Taut
holds b2 => b1 in IPC-Taut;
:: INTPRO_1:th 19
theorem
IVERUM in IPC-Taut;
:: INTPRO_1:th 20
theorem
for b1, b2 being Element of MC-wff holds
(b1 => b2) => (b1 => b1) in IPC-Taut;
:: INTPRO_1:th 21
theorem
for b1, b2 being Element of MC-wff holds
(b1 => b2) => (b2 => b2) in IPC-Taut;
:: INTPRO_1:th 22
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b3 => b1) => (b3 => b2)) in IPC-Taut;
:: INTPRO_1:th 23
theorem
for b1, b2, b3 being Element of MC-wff
st b1 => (b2 => b3) in IPC-Taut
holds b2 => (b1 => b3) in IPC-Taut;
:: INTPRO_1:th 24
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b2 => b3) => (b1 => b3)) in IPC-Taut;
:: INTPRO_1:th 25
theorem
for b1, b2, b3 being Element of MC-wff
st b1 => b2 in IPC-Taut
holds (b2 => b3) => (b1 => b3) in IPC-Taut;
:: INTPRO_1:th 26
theorem
for b1, b2, b3 being Element of MC-wff
st b1 => b2 in IPC-Taut & b2 => b3 in IPC-Taut
holds b1 => b3 in IPC-Taut;
:: INTPRO_1:th 27
theorem
for b1, b2, b3, b4 being Element of MC-wff holds
(b1 => (b2 => b3)) => ((b4 => b2) => (b1 => (b4 => b3))) in IPC-Taut;
:: INTPRO_1:th 28
theorem
for b1, b2, b3 being Element of MC-wff holds
((b1 => b2) => b3) => (b2 => b3) in IPC-Taut;
:: INTPRO_1:th 29
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => (b2 => b3)) => (b2 => (b1 => b3)) in IPC-Taut;
:: INTPRO_1:th 30
theorem
for b1, b2 being Element of MC-wff holds
(b1 => (b1 => b2)) => (b1 => b2) in IPC-Taut;
:: INTPRO_1:th 31
theorem
for b1, b2 being Element of MC-wff holds
b1 => ((b1 => b2) => b2) in IPC-Taut;
:: INTPRO_1:th 32
theorem
for b1, b2, b3 being Element of MC-wff
st b1 => (b2 => b3) in IPC-Taut & b2 in IPC-Taut
holds b1 => b3 in IPC-Taut;
:: INTPRO_1:th 33
theorem
for b1 being Element of MC-wff holds
b1 => (b1 '&' b1) in IPC-Taut;
:: INTPRO_1:th 34
theorem
for b1, b2 being Element of MC-wff holds
b1 '&' b2 in IPC-Taut
iff
b1 in IPC-Taut & b2 in IPC-Taut;
:: INTPRO_1:th 35
theorem
for b1, b2 being Element of MC-wff holds
b1 '&' b2 in IPC-Taut
iff
b2 '&' b1 in IPC-Taut;
:: INTPRO_1:th 36
theorem
for b1, b2, b3 being Element of MC-wff holds
((b1 '&' b2) => b3) => (b1 => (b2 => b3)) in IPC-Taut;
:: INTPRO_1:th 37
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => (b2 => b3)) => ((b1 '&' b2) => b3) in IPC-Taut;
:: INTPRO_1:th 38
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b1 => b3) => (b1 => (b2 '&' b3))) in IPC-Taut;
:: INTPRO_1:th 39
theorem
for b1, b2 being Element of MC-wff holds
((b1 => b2) '&' b1) => b2 in IPC-Taut;
:: INTPRO_1:th 40
theorem
for b1, b2, b3 being Element of MC-wff holds
(((b1 => b2) '&' b1) '&' b3) => b2 in IPC-Taut;
:: INTPRO_1:th 41
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b3 '&' b1) => b2) in IPC-Taut;
:: INTPRO_1:th 42
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b1 '&' b3) => b2) in IPC-Taut;
:: INTPRO_1:th 43
theorem
for b1, b2, b3 being Element of MC-wff holds
((b1 '&' b2) => b3) => ((b1 '&' b2) => (b3 '&' b2)) in IPC-Taut;
:: INTPRO_1:th 44
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b1 '&' b3) => (b2 '&' b3)) in IPC-Taut;
:: INTPRO_1:th 45
theorem
for b1, b2, b3 being Element of MC-wff holds
((b1 => b2) '&' (b1 '&' b3)) => (b2 '&' b3) in IPC-Taut;
:: INTPRO_1:th 46
theorem
for b1, b2 being Element of MC-wff holds
(b1 '&' b2) => (b2 '&' b1) in IPC-Taut;
:: INTPRO_1:th 47
theorem
for b1, b2, b3 being Element of MC-wff holds
((b1 => b2) '&' (b1 '&' b3)) => (b3 '&' b2) in IPC-Taut;
:: INTPRO_1:th 48
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b1 '&' b3) => (b3 '&' b2)) in IPC-Taut;
:: INTPRO_1:th 49
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b3 '&' b1) => (b3 '&' b2)) in IPC-Taut;
:: INTPRO_1:th 50
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 '&' (b2 '&' b3)) => (b1 '&' (b3 '&' b2)) in IPC-Taut;
:: INTPRO_1:th 51
theorem
for b1, b2, b3 being Element of MC-wff holds
((b1 => b2) '&' (b1 => b3)) => (b1 => (b2 '&' b3)) in IPC-Taut;
:: INTPRO_1:th 52
theorem
for b1, b2, b3 being Element of MC-wff holds
((b1 '&' b2) '&' b3) => (b1 '&' (b2 '&' b3)) in IPC-Taut;
:: INTPRO_1:th 53
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 '&' (b2 '&' b3)) => ((b1 '&' b2) '&' b3) in IPC-Taut;
:: INTPRO_1:th 54
theorem
for b1 being Element of MC-wff holds
(b1 'or' b1) => b1 in IPC-Taut;
:: INTPRO_1:th 55
theorem
for b1, b2 being Element of MC-wff
st (b1 in IPC-Taut or b2 in IPC-Taut)
holds b1 'or' b2 in IPC-Taut;
:: INTPRO_1:th 56
theorem
for b1, b2 being Element of MC-wff holds
(b1 'or' b2) => (b2 'or' b1) in IPC-Taut;
:: INTPRO_1:th 57
theorem
for b1, b2 being Element of MC-wff holds
b1 'or' b2 in IPC-Taut
iff
b2 'or' b1 in IPC-Taut;
:: INTPRO_1:th 58
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => (b1 => (b2 'or' b3)) in IPC-Taut;
:: INTPRO_1:th 59
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => (b1 => (b3 'or' b2)) in IPC-Taut;
:: INTPRO_1:th 60
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b1 'or' b3) => (b2 'or' b3)) in IPC-Taut;
:: INTPRO_1:th 61
theorem
for b1, b2, b3 being Element of MC-wff
st b1 => b2 in IPC-Taut
holds (b1 'or' b3) => (b2 'or' b3) in IPC-Taut;
:: INTPRO_1:th 62
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 => b2) => ((b3 'or' b1) => (b3 'or' b2)) in IPC-Taut;
:: INTPRO_1:th 63
theorem
for b1, b2, b3 being Element of MC-wff
st b1 => b2 in IPC-Taut
holds (b3 'or' b1) => (b3 'or' b2) in IPC-Taut;
:: INTPRO_1:th 64
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 'or' (b2 'or' b3)) => (b2 'or' (b1 'or' b3)) in IPC-Taut;
:: INTPRO_1:th 65
theorem
for b1, b2, b3 being Element of MC-wff holds
(b1 'or' (b2 'or' b3)) => ((b1 'or' b2) 'or' b3) in IPC-Taut;
:: INTPRO_1:th 66
theorem
for b1, b2, b3 being Element of MC-wff holds
((b1 'or' b2) 'or' b3) => (b1 'or' (b2 'or' b3)) in IPC-Taut;
:: INTPRO_1:attrnot 9 => INTPRO_1:attr 9
definition
let a1 be Element of bool MC-wff;
attr a1 is CPC_theory means
for b1, b2, b3 being Element of MC-wff holds
b1 => (b2 => b1) in a1 &
(b1 => (b2 => b3)) => ((b1 => b2) => (b1 => b3)) in a1 &
(b1 '&' b2) => b1 in a1 &
(b1 '&' b2) => b2 in a1 &
b1 => (b2 => (b1 '&' b2)) in a1 &
b1 => (b1 'or' b2) in a1 &
b2 => (b1 'or' b2) in a1 &
(b1 => b3) => ((b2 => b3) => ((b1 'or' b2) => b3)) in a1 &
FALSUM => b1 in a1 &
b1 'or' (b1 => FALSUM) in a1 &
(b1 in a1 & b1 => b2 in a1 implies b2 in a1);
end;
:: INTPRO_1:dfs 19
definiens
let a1 be Element of bool MC-wff;
To prove
a1 is CPC_theory
it is sufficient to prove
thus for b1, b2, b3 being Element of MC-wff holds
b1 => (b2 => b1) in a1 &
(b1 => (b2 => b3)) => ((b1 => b2) => (b1 => b3)) in a1 &
(b1 '&' b2) => b1 in a1 &
(b1 '&' b2) => b2 in a1 &
b1 => (b2 => (b1 '&' b2)) in a1 &
b1 => (b1 'or' b2) in a1 &
b2 => (b1 'or' b2) in a1 &
(b1 => b3) => ((b2 => b3) => ((b1 'or' b2) => b3)) in a1 &
FALSUM => b1 in a1 &
b1 'or' (b1 => FALSUM) in a1 &
(b1 in a1 & b1 => b2 in a1 implies b2 in a1);
:: INTPRO_1:def 19
theorem
for b1 being Element of bool MC-wff holds
b1 is CPC_theory
iff
for b2, b3, b4 being Element of MC-wff holds
b2 => (b3 => b2) in b1 &
(b2 => (b3 => b4)) => ((b2 => b3) => (b2 => b4)) in b1 &
(b2 '&' b3) => b2 in b1 &
(b2 '&' b3) => b3 in b1 &
b2 => (b3 => (b2 '&' b3)) in b1 &
b2 => (b2 'or' b3) in b1 &
b3 => (b2 'or' b3) in b1 &
(b2 => b4) => ((b3 => b4) => ((b2 'or' b3) => b4)) in b1 &
FALSUM => b2 in b1 &
b2 'or' (b2 => FALSUM) in b1 &
(b2 in b1 & b2 => b3 in b1 implies b3 in b1);
:: INTPRO_1:th 67
theorem
for b1 being Element of bool MC-wff
st b1 is CPC_theory
holds b1 is IPC_theory;
:: INTPRO_1:funcnot 11 => INTPRO_1:func 11
definition
let a1 be Element of bool MC-wff;
func CnCPC A1 -> Element of bool MC-wff means
for b1 being Element of MC-wff holds
b1 in it
iff
for b2 being Element of bool MC-wff
st b2 is CPC_theory & a1 c= b2
holds b1 in b2;
end;
:: INTPRO_1:def 20
theorem
for b1, b2 being Element of bool MC-wff holds
b2 = CnCPC b1
iff
for b3 being Element of MC-wff holds
b3 in b2
iff
for b4 being Element of bool MC-wff
st b4 is CPC_theory & b1 c= b4
holds b3 in b4;
:: INTPRO_1:funcnot 12 => INTPRO_1:func 12
definition
func CPC-Taut -> Element of bool MC-wff equals
CnCPC {} MC-wff;
end;
:: INTPRO_1:def 21
theorem
CPC-Taut = CnCPC {} MC-wff;
:: INTPRO_1:th 68
theorem
for b1 being Element of bool MC-wff holds
CnIPC b1 c= CnCPC b1;
:: INTPRO_1:th 69
theorem
for b1 being Element of bool MC-wff
for b2, b3, b4 being Element of MC-wff holds
b2 => (b3 => b2) in CnCPC b1 &
(b2 => (b3 => b4)) => ((b2 => b3) => (b2 => b4)) in CnCPC b1 &
(b2 '&' b3) => b2 in CnCPC b1 &
(b2 '&' b3) => b3 in CnCPC b1 &
b2 => (b3 => (b2 '&' b3)) in CnCPC b1 &
b2 => (b2 'or' b3) in CnCPC b1 &
b3 => (b2 'or' b3) in CnCPC b1 &
(b2 => b4) => ((b3 => b4) => ((b2 'or' b3) => b4)) in CnCPC b1 &
FALSUM => b2 in CnCPC b1 &
b2 'or' (b2 => FALSUM) in CnCPC b1;
:: INTPRO_1:th 70
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff
st b2 in CnCPC b1 & b2 => b3 in CnCPC b1
holds b3 in CnCPC b1;
:: INTPRO_1:th 71
theorem
for b1, b2 being Element of bool MC-wff
st b1 is CPC_theory & b2 c= b1
holds CnCPC b2 c= b1;
:: INTPRO_1:th 72
theorem
for b1 being Element of bool MC-wff holds
b1 c= CnCPC b1;
:: INTPRO_1:th 73
theorem
for b1, b2 being Element of bool MC-wff
st b1 c= b2
holds CnCPC b1 c= CnCPC b2;
:: INTPRO_1:th 74
theorem
for b1 being Element of bool MC-wff holds
CnCPC CnCPC b1 = CnCPC b1;
:: INTPRO_1:funcreg 5
registration
let a1 be Element of bool MC-wff;
cluster CnCPC a1 -> CPC_theory;
end;
:: INTPRO_1:th 75
theorem
for b1 being Element of bool MC-wff holds
b1 is CPC_theory
iff
CnCPC b1 = b1;
:: INTPRO_1:th 76
theorem
for b1 being Element of bool MC-wff
st b1 is CPC_theory
holds CPC-Taut c= b1;
:: INTPRO_1:funcreg 6
registration
cluster CPC-Taut -> CPC_theory;
end;
:: INTPRO_1:th 77
theorem
IPC-Taut c= CPC-Taut;
:: INTPRO_1:attrnot 10 => INTPRO_1:attr 10
definition
let a1 be Element of bool MC-wff;
attr a1 is S4_theory means
for b1, b2, b3 being Element of MC-wff holds
b1 => (b2 => b1) in a1 &
(b1 => (b2 => b3)) => ((b1 => b2) => (b1 => b3)) in a1 &
(b1 '&' b2) => b1 in a1 &
(b1 '&' b2) => b2 in a1 &
b1 => (b2 => (b1 '&' b2)) in a1 &
b1 => (b1 'or' b2) in a1 &
b2 => (b1 'or' b2) in a1 &
(b1 => b3) => ((b2 => b3) => ((b1 'or' b2) => b3)) in a1 &
FALSUM => b1 in a1 &
b1 'or' (b1 => FALSUM) in a1 &
(Nes (b1 => b2)) => ((Nes b1) => Nes b2) in a1 &
(Nes b1) => b1 in a1 &
(Nes b1) => Nes Nes b1 in a1 &
(b1 in a1 & b1 => b2 in a1 implies b2 in a1) &
(b1 in a1 implies Nes b1 in a1);
end;
:: INTPRO_1:dfs 22
definiens
let a1 be Element of bool MC-wff;
To prove
a1 is S4_theory
it is sufficient to prove
thus for b1, b2, b3 being Element of MC-wff holds
b1 => (b2 => b1) in a1 &
(b1 => (b2 => b3)) => ((b1 => b2) => (b1 => b3)) in a1 &
(b1 '&' b2) => b1 in a1 &
(b1 '&' b2) => b2 in a1 &
b1 => (b2 => (b1 '&' b2)) in a1 &
b1 => (b1 'or' b2) in a1 &
b2 => (b1 'or' b2) in a1 &
(b1 => b3) => ((b2 => b3) => ((b1 'or' b2) => b3)) in a1 &
FALSUM => b1 in a1 &
b1 'or' (b1 => FALSUM) in a1 &
(Nes (b1 => b2)) => ((Nes b1) => Nes b2) in a1 &
(Nes b1) => b1 in a1 &
(Nes b1) => Nes Nes b1 in a1 &
(b1 in a1 & b1 => b2 in a1 implies b2 in a1) &
(b1 in a1 implies Nes b1 in a1);
:: INTPRO_1:def 22
theorem
for b1 being Element of bool MC-wff holds
b1 is S4_theory
iff
for b2, b3, b4 being Element of MC-wff holds
b2 => (b3 => b2) in b1 &
(b2 => (b3 => b4)) => ((b2 => b3) => (b2 => b4)) in b1 &
(b2 '&' b3) => b2 in b1 &
(b2 '&' b3) => b3 in b1 &
b2 => (b3 => (b2 '&' b3)) in b1 &
b2 => (b2 'or' b3) in b1 &
b3 => (b2 'or' b3) in b1 &
(b2 => b4) => ((b3 => b4) => ((b2 'or' b3) => b4)) in b1 &
FALSUM => b2 in b1 &
b2 'or' (b2 => FALSUM) in b1 &
(Nes (b2 => b3)) => ((Nes b2) => Nes b3) in b1 &
(Nes b2) => b2 in b1 &
(Nes b2) => Nes Nes b2 in b1 &
(b2 in b1 & b2 => b3 in b1 implies b3 in b1) &
(b2 in b1 implies Nes b2 in b1);
:: INTPRO_1:th 78
theorem
for b1 being Element of bool MC-wff
st b1 is S4_theory
holds b1 is CPC_theory;
:: INTPRO_1:th 79
theorem
for b1 being Element of bool MC-wff
st b1 is S4_theory
holds b1 is IPC_theory;
:: INTPRO_1:funcnot 13 => INTPRO_1:func 13
definition
let a1 be Element of bool MC-wff;
func CnS4 A1 -> Element of bool MC-wff means
for b1 being Element of MC-wff holds
b1 in it
iff
for b2 being Element of bool MC-wff
st b2 is S4_theory & a1 c= b2
holds b1 in b2;
end;
:: INTPRO_1:def 23
theorem
for b1, b2 being Element of bool MC-wff holds
b2 = CnS4 b1
iff
for b3 being Element of MC-wff holds
b3 in b2
iff
for b4 being Element of bool MC-wff
st b4 is S4_theory & b1 c= b4
holds b3 in b4;
:: INTPRO_1:funcnot 14 => INTPRO_1:func 14
definition
func S4-Taut -> Element of bool MC-wff equals
CnS4 {} MC-wff;
end;
:: INTPRO_1:def 24
theorem
S4-Taut = CnS4 {} MC-wff;
:: INTPRO_1:th 80
theorem
for b1 being Element of bool MC-wff holds
CnCPC b1 c= CnS4 b1;
:: INTPRO_1:th 81
theorem
for b1 being Element of bool MC-wff holds
CnIPC b1 c= CnS4 b1;
:: INTPRO_1:th 82
theorem
for b1 being Element of bool MC-wff
for b2, b3, b4 being Element of MC-wff holds
b2 => (b3 => b2) in CnS4 b1 &
(b2 => (b3 => b4)) => ((b2 => b3) => (b2 => b4)) in CnS4 b1 &
(b2 '&' b3) => b2 in CnS4 b1 &
(b2 '&' b3) => b3 in CnS4 b1 &
b2 => (b3 => (b2 '&' b3)) in CnS4 b1 &
b2 => (b2 'or' b3) in CnS4 b1 &
b3 => (b2 'or' b3) in CnS4 b1 &
(b2 => b4) => ((b3 => b4) => ((b2 'or' b3) => b4)) in CnS4 b1 &
FALSUM => b2 in CnS4 b1 &
b2 'or' (b2 => FALSUM) in CnS4 b1;
:: INTPRO_1:th 83
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff
st b2 in CnS4 b1 & b2 => b3 in CnS4 b1
holds b3 in CnS4 b1;
:: INTPRO_1:th 84
theorem
for b1 being Element of bool MC-wff
for b2, b3 being Element of MC-wff holds
(Nes (b2 => b3)) => ((Nes b2) => Nes b3) in CnS4 b1;
:: INTPRO_1:th 85
theorem
for b1 being Element of bool MC-wff
for b2 being Element of MC-wff holds
(Nes b2) => b2 in CnS4 b1;
:: INTPRO_1:th 86
theorem
for b1 being Element of bool MC-wff
for b2 being Element of MC-wff holds
(Nes b2) => Nes Nes b2 in CnS4 b1;
:: INTPRO_1:th 87
theorem
for b1 being Element of bool MC-wff
for b2 being Element of MC-wff
st b2 in CnS4 b1
holds Nes b2 in CnS4 b1;
:: INTPRO_1:th 88
theorem
for b1, b2 being Element of bool MC-wff
st b1 is S4_theory & b2 c= b1
holds CnS4 b2 c= b1;
:: INTPRO_1:th 89
theorem
for b1 being Element of bool MC-wff holds
b1 c= CnS4 b1;
:: INTPRO_1:th 90
theorem
for b1, b2 being Element of bool MC-wff
st b1 c= b2
holds CnS4 b1 c= CnS4 b2;
:: INTPRO_1:th 91
theorem
for b1 being Element of bool MC-wff holds
CnS4 CnS4 b1 = CnS4 b1;
:: INTPRO_1:funcreg 7
registration
let a1 be Element of bool MC-wff;
cluster CnS4 a1 -> S4_theory;
end;
:: INTPRO_1:th 92
theorem
for b1 being Element of bool MC-wff holds
b1 is S4_theory
iff
CnS4 b1 = b1;
:: INTPRO_1:th 93
theorem
for b1 being Element of bool MC-wff
st b1 is S4_theory
holds S4-Taut c= b1;
:: INTPRO_1:funcreg 8
registration
cluster S4-Taut -> S4_theory;
end;
:: INTPRO_1:th 94
theorem
CPC-Taut c= S4-Taut;
:: INTPRO_1:th 95
theorem
IPC-Taut c= S4-Taut;