Article VALUAT_1, MML version 4.99.1005
:: VALUAT_1:funcnot 1 => VALUAT_1:func 1
definition
let a1 be set;
func Valuations_in A1 -> set equals
Funcs(bound_QC-variables,a1);
end;
:: VALUAT_1:def 1
theorem
for b1 being set holds
Valuations_in b1 = Funcs(bound_QC-variables,b1);
:: VALUAT_1:funcreg 1
registration
let a1 be non empty set;
cluster Valuations_in a1 -> non empty functional;
end;
:: VALUAT_1:th 2
theorem
for b1 being non empty set
for b2 being set
st b2 is Element of Valuations_in b1
holds b2 is Function-like quasi_total Relation of bound_QC-variables,b1;
:: VALUAT_1:funcnot 2 => VALUAT_1:func 2
definition
let a1 be non empty set;
redefine func Valuations_in a1 -> FUNCTION_DOMAIN of bound_QC-variables,a1;
end;
:: VALUAT_1:funcnot 3 => VALUAT_1:func 3
definition
let a1 be non empty set;
let a2 be Element of bound_QC-variables;
let a3 be Element of Funcs(Valuations_in a1,BOOLEAN);
func FOR_ALL(A2,A3) -> Element of Funcs(Valuations_in a1,BOOLEAN) means
for b1 being Element of Valuations_in a1 holds
it . b1 = ALL {a3 . b2 where b2 is Element of Valuations_in a1: for b3 being Element of bound_QC-variables
st a2 <> b3
holds b2 . b3 = b1 . b3};
end;
:: VALUAT_1:def 7
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3, b4 being Element of Funcs(Valuations_in b1,BOOLEAN) holds
b4 = FOR_ALL(b2,b3)
iff
for b5 being Element of Valuations_in b1 holds
b4 . b5 = ALL {b3 . b6 where b6 is Element of Valuations_in b1: for b7 being Element of bound_QC-variables
st b2 <> b7
holds b6 . b7 = b5 . b7};
:: VALUAT_1:th 7
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of Valuations_in b1
for b4 being Element of Funcs(Valuations_in b1,BOOLEAN) holds
(FOR_ALL(b2,b4)) . b3 = FALSE
iff
ex b5 being Element of Valuations_in b1 st
b4 . b5 = FALSE &
(for b6 being Element of bound_QC-variables
st b2 <> b6
holds b5 . b6 = b3 . b6);
:: VALUAT_1:th 8
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of Valuations_in b1
for b4 being Element of Funcs(Valuations_in b1,BOOLEAN) holds
(FOR_ALL(b2,b4)) . b3 = TRUE
iff
for b5 being Element of Valuations_in b1
st for b6 being Element of bound_QC-variables
st b2 <> b6
holds b5 . b6 = b3 . b6
holds b4 . b5 = TRUE;
:: VALUAT_1:funcnot 4 => RELAT_1:func 5
notation
let a1 be non empty set;
let a2 be Element of NAT;
let a3 be CQC-variable_list-like QC-variable_list of a2;
let a4 be Element of Valuations_in a1;
synonym a4 *' a3 for a1 * a2;
end;
:: VALUAT_1:funcnot 5 => VALUAT_1:func 4
definition
let a1 be non empty set;
let a2 be Element of NAT;
let a3 be CQC-variable_list-like QC-variable_list of a2;
let a4 be Element of Valuations_in a1;
redefine func A4 *' A3 -> FinSequence of a1 means
len it = a2 &
(for b1 being natural set
st 1 <= b1 & b1 <= a2
holds it . b1 = a4 . (a3 . b1));
end;
:: VALUAT_1:def 8
theorem
for b1 being non empty set
for b2 being Element of NAT
for b3 being CQC-variable_list-like QC-variable_list of b2
for b4 being Element of Valuations_in b1
for b5 being FinSequence of b1 holds
b5 = b4 *' b3
iff
len b5 = b2 &
(for b6 being natural set
st 1 <= b6 & b6 <= b2
holds b5 . b6 = b4 . (b3 . b6));
:: VALUAT_1:funcnot 6 => VALUAT_1:func 5
definition
let a1 be non empty set;
let a2 be Element of NAT;
let a3 be CQC-variable_list-like QC-variable_list of a2;
let a4 be Element of relations_on a1;
func A3 'in' A4 -> Element of Funcs(Valuations_in a1,BOOLEAN) means
for b1 being Element of Valuations_in a1 holds
(b1 *' a3 in a4 implies it . b1 = TRUE) &
(b1 *' a3 in a4 or it . b1 = FALSE);
end;
:: VALUAT_1:def 9
theorem
for b1 being non empty set
for b2 being Element of NAT
for b3 being CQC-variable_list-like QC-variable_list of b2
for b4 being Element of relations_on b1
for b5 being Element of Funcs(Valuations_in b1,BOOLEAN) holds
b5 = b3 'in' b4
iff
for b6 being Element of Valuations_in b1 holds
(b6 *' b3 in b4 implies b5 . b6 = TRUE) &
(b6 *' b3 in b4 or b5 . b6 = FALSE);
:: VALUAT_1:funcnot 7 => VALUAT_1:func 6
definition
let a1 be non empty set;
let a2 be Function-like quasi_total Relation of CQC-WFF,Funcs(Valuations_in a1,BOOLEAN);
let a3 be Element of CQC-WFF;
redefine func a2 . a3 -> Element of Funcs(Valuations_in a1,BOOLEAN);
end;
:: VALUAT_1:modenot 1 => VALUAT_1:mode 1
definition
let a1 be non empty set;
mode interpretation of A1 -> Function-like quasi_total Relation of QC-pred_symbols,relations_on a1 means
for b1 being Element of QC-pred_symbols
for b2 being Element of relations_on a1
st it . b1 = b2 & not b2 = empty_rel a1
holds the_arity_of b1 = the_arity_of b2;
end;
:: VALUAT_1:dfs 5
definiens
let a1 be non empty set;
let a2 be Function-like quasi_total Relation of QC-pred_symbols,relations_on a1;
To prove
a2 is interpretation of a1
it is sufficient to prove
thus for b1 being Element of QC-pred_symbols
for b2 being Element of relations_on a1
st a2 . b1 = b2 & not b2 = empty_rel a1
holds the_arity_of b1 = the_arity_of b2;
:: VALUAT_1:def 10
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of QC-pred_symbols,relations_on b1 holds
b2 is interpretation of b1
iff
for b3 being Element of QC-pred_symbols
for b4 being Element of relations_on b1
st b2 . b3 = b4 & not b4 = empty_rel b1
holds the_arity_of b3 = the_arity_of b4;
:: VALUAT_1:funcnot 8 => VALUAT_1:func 7
definition
let a1 be non empty set;
let a2 be Element of NAT;
let a3 be interpretation of a1;
let a4 be Element of a2 -ary_QC-pred_symbols;
redefine func a3 . a4 -> Element of relations_on a1;
end;
:: VALUAT_1:funcnot 9 => VALUAT_1:func 8
definition
let a1 be non empty set;
let a2 be interpretation of a1;
let a3 be Element of CQC-WFF;
func Valid(A3,A2) -> Element of Funcs(Valuations_in a1,BOOLEAN) means
ex b1 being Function-like quasi_total Relation of CQC-WFF,Funcs(Valuations_in a1,BOOLEAN) st
it = b1 . a3 &
b1 . VERUM = (Valuations_in a1) --> TRUE &
(for b2, b3 being Element of CQC-WFF
for b4 being Element of bound_QC-variables
for b5 being Element of NAT
for b6 being CQC-variable_list-like QC-variable_list of b5
for b7 being Element of b5 -ary_QC-pred_symbols holds
b1 . (b7 ! b6) = b6 'in' (a2 . b7) &
b1 . 'not' b2 = 'not' (b1 . b2) &
b1 . (b2 '&' b3) = (b1 . b2) '&' (b1 . b3) &
b1 . All(b4,b2) = FOR_ALL(b4,b1 . b2));
end;
:: VALUAT_1:def 11
theorem
for b1 being non empty set
for b2 being interpretation of b1
for b3 being Element of CQC-WFF
for b4 being Element of Funcs(Valuations_in b1,BOOLEAN) holds
b4 = Valid(b3,b2)
iff
ex b5 being Function-like quasi_total Relation of CQC-WFF,Funcs(Valuations_in b1,BOOLEAN) st
b4 = b5 . b3 &
b5 . VERUM = (Valuations_in b1) --> TRUE &
(for b6, b7 being Element of CQC-WFF
for b8 being Element of bound_QC-variables
for b9 being Element of NAT
for b10 being CQC-variable_list-like QC-variable_list of b9
for b11 being Element of b9 -ary_QC-pred_symbols holds
b5 . (b11 ! b10) = b10 'in' (b2 . b11) &
b5 . 'not' b6 = 'not' (b5 . b6) &
b5 . (b6 '&' b7) = (b5 . b6) '&' (b5 . b7) &
b5 . All(b8,b6) = FOR_ALL(b8,b5 . b6));
:: VALUAT_1:th 13
theorem
for b1 being non empty set
for b2 being interpretation of b1 holds
Valid(VERUM,b2) = (Valuations_in b1) --> TRUE;
:: VALUAT_1:th 14
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3 being interpretation of b1 holds
(Valid(VERUM,b3)) . b2 = TRUE;
:: VALUAT_1:th 15
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being CQC-variable_list-like QC-variable_list of b1
for b4 being interpretation of b2
for b5 being Element of b1 -ary_QC-pred_symbols holds
Valid(b5 ! b3,b4) = b3 'in' (b4 . b5);
:: VALUAT_1:th 16
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of Valuations_in b2
for b4 being CQC-variable_list-like QC-variable_list of b1
for b5 being Element of CQC-WFF
for b6 being interpretation of b2
for b7 being Element of b1 -ary_QC-pred_symbols
for b8 being Element of relations_on b2
st b5 = b7 ! b4 & b8 = b6 . b7
holds b3 *' b4 in b8
iff
(Valid(b5,b6)) . b3 = TRUE;
:: VALUAT_1:th 17
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of Valuations_in b2
for b4 being CQC-variable_list-like QC-variable_list of b1
for b5 being Element of CQC-WFF
for b6 being interpretation of b2
for b7 being Element of b1 -ary_QC-pred_symbols
for b8 being Element of relations_on b2
st b5 = b7 ! b4 & b8 = b6 . b7
holds not b3 *' b4 in b8
iff
(Valid(b5,b6)) . b3 = FALSE;
:: VALUAT_1:th 19
theorem
for b1 being non empty set
for b2 being Element of CQC-WFF
for b3 being interpretation of b1 holds
Valid('not' b2,b3) = 'not' Valid(b2,b3);
:: VALUAT_1:th 20
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
(Valid('not' b3,b4)) . b2 = 'not' ((Valid(b3,b4)) . b2);
:: VALUAT_1:th 21
theorem
for b1 being non empty set
for b2, b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
Valid(b2 '&' b3,b4) = (Valid(b2,b4)) '&' Valid(b3,b4);
:: VALUAT_1:th 22
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3, b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
(Valid(b3 '&' b4,b5)) . b2 = ((Valid(b3,b5)) . b2) '&' ((Valid(b4,b5)) . b2);
:: VALUAT_1:th 23
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
Valid(All(b2,b3),b4) = FOR_ALL(b2,Valid(b3,b4));
:: VALUAT_1:th 24
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
(Valid(b3 '&' 'not' b3,b4)) . b2 = FALSE;
:: VALUAT_1:th 25
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
(Valid('not' (b3 '&' 'not' b3),b4)) . b2 = TRUE;
:: VALUAT_1:prednot 1 => VALUAT_1:pred 1
definition
let a1 be non empty set;
let a2 be Element of CQC-WFF;
let a3 be interpretation of a1;
let a4 be Element of Valuations_in a1;
pred A3,A4 |= A2 means
(Valid(a2,a3)) . a4 = TRUE;
end;
:: VALUAT_1:dfs 7
definiens
let a1 be non empty set;
let a2 be Element of CQC-WFF;
let a3 be interpretation of a1;
let a4 be Element of Valuations_in a1;
To prove
a3,a4 |= a2
it is sufficient to prove
thus (Valid(a2,a3)) . a4 = TRUE;
:: VALUAT_1:def 12
theorem
for b1 being non empty set
for b2 being Element of CQC-WFF
for b3 being interpretation of b1
for b4 being Element of Valuations_in b1 holds
b3,b4 |= b2
iff
(Valid(b2,b3)) . b4 = TRUE;
:: VALUAT_1:th 27
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3 being Element of Valuations_in b2
for b4 being CQC-variable_list-like QC-variable_list of b1
for b5 being interpretation of b2
for b6 being Element of b1 -ary_QC-pred_symbols holds
b5,b3 |= b6 ! b4
iff
(b4 'in' (b5 . b6)) . b3 = TRUE;
:: VALUAT_1:th 28
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
b4,b2 |= 'not' b3
iff
not b4,b2 |= b3;
:: VALUAT_1:th 29
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3, b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5,b2 |= b3 '&' b4
iff
b5,b2 |= b3 & b5,b2 |= b4;
:: VALUAT_1:th 30
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of Valuations_in b1
for b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5,b3 |= All(b2,b4)
iff
(FOR_ALL(b2,Valid(b4,b5))) . b3 = TRUE;
:: VALUAT_1:th 31
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of Valuations_in b1
for b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5,b3 |= All(b2,b4)
iff
for b6 being Element of Valuations_in b1
st for b7 being Element of bound_QC-variables
st b2 <> b7
holds b6 . b7 = b3 . b7
holds (Valid(b4,b5)) . b6 = TRUE;
:: VALUAT_1:th 32
theorem
for b1 being non empty set
for b2 being Element of CQC-WFF
for b3 being interpretation of b1 holds
Valid('not' 'not' b2,b3) = Valid(b2,b3);
:: VALUAT_1:th 33
theorem
for b1 being non empty set
for b2 being Element of CQC-WFF
for b3 being interpretation of b1 holds
Valid(b2 '&' b2,b3) = Valid(b2,b3);
:: VALUAT_1:th 35
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3, b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5,b2 |= b3 => b4
iff
((Valid(b3,b5)) . b2 = FALSE or (Valid(b4,b5)) . b2 = TRUE);
:: VALUAT_1:th 36
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3, b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5,b2 |= b3 => b4
iff
(b5,b2 |= b3 implies b5,b2 |= b4);
:: VALUAT_1:th 37
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of Valuations_in b1
for b4 being Element of Funcs(Valuations_in b1,BOOLEAN)
st (FOR_ALL(b2,b4)) . b3 = TRUE
holds b4 . b3 = TRUE;
:: VALUAT_1:prednot 2 => VALUAT_1:pred 2
definition
let a1 be non empty set;
let a2 be interpretation of a1;
let a3 be Element of CQC-WFF;
pred A2 |= A3 means
for b1 being Element of Valuations_in a1 holds
a2,b1 |= a3;
end;
:: VALUAT_1:dfs 8
definiens
let a1 be non empty set;
let a2 be interpretation of a1;
let a3 be Element of CQC-WFF;
To prove
a2 |= a3
it is sufficient to prove
thus for b1 being Element of Valuations_in a1 holds
a2,b1 |= a3;
:: VALUAT_1:def 13
theorem
for b1 being non empty set
for b2 being interpretation of b1
for b3 being Element of CQC-WFF holds
b2 |= b3
iff
for b4 being Element of Valuations_in b1 holds
b2,b4 |= b3;
:: VALUAT_1:sch 1
scheme VALUAT_1:sch 1
{F1 -> non empty set,
F2 -> Element of bound_QC-variables,
F3 -> Element of bound_QC-variables,
F4 -> Element of Valuations_in F1(),
F5 -> Element of Valuations_in F1()}:
ex b1 being Element of Valuations_in F1() st
(for b2 being Element of bound_QC-variables
st b2 <> F2()
holds b1 . b2 = F4() . b2) &
b1 . F2() = F5() . F3()
:: VALUAT_1:th 39
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of CQC-WFF
for b4 being interpretation of b1
st not b2 in still_not-bound_in b3
for b5, b6 being Element of Valuations_in b1
st for b7 being Element of bound_QC-variables
st b2 <> b7
holds b6 . b7 = b5 . b7
holds (Valid(b3,b4)) . b5 = (Valid(b3,b4)) . b6;
:: VALUAT_1:th 40
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of Valuations_in b1
for b4 being Element of CQC-WFF
for b5 being interpretation of b1
st b5,b3 |= b4 & not b2 in still_not-bound_in b4
for b6 being Element of Valuations_in b1
st for b7 being Element of bound_QC-variables
st b2 <> b7
holds b6 . b7 = b3 . b7
holds b5,b6 |= b4;
:: VALUAT_1:th 41
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of Valuations_in b1
for b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5,b3 |= All(b2,b4)
iff
for b6 being Element of Valuations_in b1
st for b7 being Element of bound_QC-variables
st b2 <> b7
holds b6 . b7 = b3 . b7
holds b5,b6 |= b4;
:: VALUAT_1:th 42
theorem
for b1 being non empty set
for b2, b3 being Element of bound_QC-variables
for b4, b5 being Element of CQC-WFF
for b6 being interpretation of b1
for b7 being Element of QC-WFF
st b2 <> b3 & b4 = b7 . b2 & b5 = b7 . b3
for b8 being Element of Valuations_in b1
st b8 . b2 = b8 . b3
holds (Valid(b4,b6)) . b8 = (Valid(b5,b6)) . b8;
:: VALUAT_1:th 43
theorem
for b1, b2 being Element of bound_QC-variables
for b3 being Element of QC-WFF
st b1 <> b2 & not b1 in still_not-bound_in b3
holds not b1 in still_not-bound_in (b3 . b2);
:: VALUAT_1:th 44
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3 being interpretation of b1 holds
b3,b2 |= VERUM;
:: VALUAT_1:th 45
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3, b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5,b2 |= (b3 '&' b4) => (b4 '&' b3);
:: VALUAT_1:th 46
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
b4,b2 |= (('not' b3) => b3) => b3;
:: VALUAT_1:th 47
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3, b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5,b2 |= b3 => (('not' b3) => b4);
:: VALUAT_1:th 48
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3, b4, b5 being Element of CQC-WFF
for b6 being interpretation of b1 holds
b6,b2 |= (b3 => b4) => (('not' (b4 '&' b5)) => 'not' (b3 '&' b5));
:: VALUAT_1:th 49
theorem
for b1 being non empty set
for b2 being Element of Valuations_in b1
for b3, b4 being Element of CQC-WFF
for b5 being interpretation of b1
st b5,b2 |= b3 & b5,b2 |= b3 => b4
holds b5,b2 |= b4;
:: VALUAT_1:th 50
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of Valuations_in b1
for b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5,b3 |= (All(b2,b4)) => b4;
:: VALUAT_1:th 51
theorem
for b1 being non empty set
for b2 being interpretation of b1 holds
b2 |= VERUM;
:: VALUAT_1:th 52
theorem
for b1 being non empty set
for b2, b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
b4 |= (b2 '&' b3) => (b3 '&' b2);
:: VALUAT_1:th 53
theorem
for b1 being non empty set
for b2 being Element of CQC-WFF
for b3 being interpretation of b1 holds
b3 |= (('not' b2) => b2) => b2;
:: VALUAT_1:th 54
theorem
for b1 being non empty set
for b2, b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
b4 |= b2 => (('not' b2) => b3);
:: VALUAT_1:th 55
theorem
for b1 being non empty set
for b2, b3, b4 being Element of CQC-WFF
for b5 being interpretation of b1 holds
b5 |= (b2 => b3) => (('not' (b3 '&' b4)) => 'not' (b2 '&' b4));
:: VALUAT_1:th 56
theorem
for b1 being non empty set
for b2, b3 being Element of CQC-WFF
for b4 being interpretation of b1
st b4 |= b2 & b4 |= b2 => b3
holds b4 |= b3;
:: VALUAT_1:th 57
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3 being Element of CQC-WFF
for b4 being interpretation of b1 holds
b4 |= (All(b2,b3)) => b3;
:: VALUAT_1:th 58
theorem
for b1 being non empty set
for b2 being Element of bound_QC-variables
for b3, b4 being Element of CQC-WFF
for b5 being interpretation of b1
st b5 |= b3 => b4 & not b2 in still_not-bound_in b3
holds b5 |= b3 => All(b2,b4);
:: VALUAT_1:th 59
theorem
for b1 being non empty set
for b2, b3 being Element of bound_QC-variables
for b4, b5 being Element of CQC-WFF
for b6 being interpretation of b1
for b7 being Element of QC-WFF
st b4 = b7 . b2 & b5 = b7 . b3 & not b2 in still_not-bound_in b7 & b6 |= b4
holds b6 |= b5;