reserve p,q,r,s,A,B for Element of PL-WFF,
  F,G,H for Subset of PL-WFF,
  k,n for Element of NAT,
  f,f1,f2 for FinSequence of PL-WFF;
reserve M for PLModel;

theorem monmp:
  F c= G implies (F |- p implies G |- p)
  proof
    assume Z0: F c= G;
    assume F |- p;then
    consider f such that C1: f.len f = p & 1<=len f &
    for k be Nat st 1<=k<=len f holds prc f,F,k;
C17: len f in dom f by C1,FINSEQ_3:25;
     defpred P3[Nat] means 1 <= $1 <= len f implies G |- f/.$1;
C2:  now
       let s be Nat;
       assume C5: for n being Nat st n < s holds P3[n];
       per cases by NAT_1:14;
       suppose s = 0;
        hence P3[s];
       end;
       suppose not s < 1;
         assume C7: 1 <= s <= len f;then
C3:      prc f,F,s by C1;
C16:     s in dom f by C7,FINSEQ_3:25;
         thus G |- f/.s
          proof
            per cases by C3;
            suppose f.s in PL_axioms;then
              f/.s in PL_axioms by C16,PARTFUN1:def 6;
              hence G |- f/.s by th42;
            end;
            suppose f.s in F;then
              f/.s in F by C16,PARTFUN1:def 6;
              hence G |- f/.s by th42,Z0;
            end;
            suppose ex j,k be Nat st 1<=j & j<s & 1<=k & k<s &
              (f/.j,f/.k MP_rule f/.s);then
              consider j,k be Nat such that
              C4: 1<=j & j<s & 1<=k & k<s & (f/.j,f/.k MP_rule f/.s);
              C6: P3[j] by C5,C4;
              P3[k] by C4,C5;
              hence G |- f/.s by th43,C7,XXREAL_0:2,C4,C6;
            end;
          end;
        end;
      end;
      for k be Nat holds P3[k] from NAT_1:sch 4(C2);then
      G |- f/.(len f) by C1;
      hence G |- p by C1,C17,PARTFUN1:def 6;
  end;
