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;