reserve Omega for non empty set;
reserve Sigma for SigmaField of Omega;
reserve T for Nat;
 reserve TFix for Element of StoppingSetExt(T);
 reserve MyFunc for Filtration of StoppingSet(T),Sigma;
 reserve k,k1,k2 for Function of Omega,StoppingSetExt(T);

theorem
  k1 is_StoppingTime_wrt MyFunc,T & k2 is_StoppingTime_wrt MyFunc,T implies
  ex k3 being Function of Omega,StoppingSetExt(T) st k3=min(k1,k2) &
     k3 is_StoppingTime_wrt MyFunc,T
proof
 assume ASS: k1 is_StoppingTime_wrt MyFunc,T & k2 is_StoppingTime_wrt MyFunc,T;
  set k3 = min(k1,k2);
  k3 is Function of Omega,StoppingSetExt(T)
  proof
   rng k3 c= StoppingSetExt(T)
   proof
     let x be object;
     assume x in rng k3; then
     consider x2 being object such that
 C1: x2 in dom k3 & x = k3.x2 by FUNCT_1:def 3;
 O1: x2 in Omega by C1; then
     x2 in dom k1 by FUNCT_2:def 1; then
ZW1: k1.x2 in rng k1 by FUNCT_1:3;
     x2 in dom k2 by O1,FUNCT_2:def 1; then
ZW2: k2.x2 in rng k2 by FUNCT_1:3;
    min(k1.x2,k2.x2) in StoppingSetExt(T)
    proof
     per cases;
     suppose not(k2.x2 <= k1.x2);
      then k1.x2=min(k1.x2,k2.x2) by XXREAL_0:def 9;
     hence thesis by ZW1;
     end;
     suppose k2.x2 <= k1.x2;
      then k2.x2=min(k1.x2,k2.x2) by XXREAL_0:def 9;
     hence thesis by ZW2;
     end;
    end;
    hence thesis by Def21,C1;
   end; then
   k3 is Function of dom k3,StoppingSetExt(T) by FUNCT_2:2;
  hence thesis by FUNCT_2:def 1;
  end;
  then reconsider k3 as Function of Omega,StoppingSetExt(T);
  k3 is_StoppingTime_wrt MyFunc,T
  proof
   for t being Element of StoppingSet(T) holds
    {w where w is Element of Omega: k3.w<=t} in MyFunc.t
   proof
    let t be Element of StoppingSet(T);
    O1: {w where w is Element of Omega: k3.w<=t} =
     {w where w is Element of Omega: k2.w<=t or k1.w<=t}
    proof
     for x being object holds
      x in {w where w is Element of Omega: k3.w<=t} iff
       x in{w where w is Element of Omega: k2.w<=t or k1.w<=t}
     proof
      let x be object;
      thus x in {w where w is Element of Omega: k3.w<=t} implies
       x in {w where w is Element of Omega: k2.w<=t or k1.w<=t}
      proof
       assume x in {w where w is Element of Omega: k3.w<=t};
       then consider w2 being Element of Omega such that R1: x=w2 & k3.w2<=t;
  HHH: k3.w2=min(k1.w2,k2.w2) by Def21;
       set K3=k3.w2, K1=k1.w2, K2=k2.w2;
       per cases;
       suppose K1>K2;
        then K3=K2 by HHH,XXREAL_0:def 9;
        hence thesis by R1;
       end;
       suppose K1<=K2;
        then K3=K1 by HHH,XXREAL_0:def 9;
        hence thesis by R1;
       end;
      end;
       assume x in{w where w is Element of Omega: k2.w<=t or k1.w<=t}; then
       consider w2 being Element of Omega such that
       R1: x=w2 & (k2.w2<=t or k1.w2<=t);
       HHH: k3.w2=min(k1.w2,k2.w2) by Def21;
       per cases by R1;
       suppose S1J: k2.w2<=t;
       min(k1.w2,k2.w2)<=t
       proof
        per cases;
        suppose QS:k1.w2<=k2.w2;
         then min(k1.w2,k2.w2)=k1.w2 by XXREAL_0:def 9;
         hence thesis by QS,S1J,XXREAL_0:2;
        end;
        suppose k1.w2>k2.w2;
         hence thesis by S1J,XXREAL_0:def 9;
        end;
       end;
       hence thesis by R1,HHH;
       end;
       suppose S1J: k1.w2<=t;
       min(k1.w2,k2.w2)<=t
       proof
        per cases;
        suppose k1.w2<=k2.w2;
        hence thesis by S1J,XXREAL_0:def 9;
        end;
        suppose QS: not(k1.w2<=k2.w2); then
         min(k1.w2,k2.w2)=k2.w2 by XXREAL_0:def 9;
        hence thesis by QS,S1J,XXREAL_0:2;
        end;
       end;
       hence thesis by R1,HHH;
       end;
     end;
    hence thesis by TARSKI:2;
    end;
    O2: {w where w is Element of Omega: k2.w<=t or k1.w<=t} =
     {w where w is Element of Omega: k2.w<=t} \/
      {w where w is Element of Omega: k1.w<=t}
     proof
      for x being object holds
       x in {w where w is Element of Omega: k2.w<=t or k1.w<=t} iff
        x in {w where w is Element of Omega: k2.w<=t} \/
             {w where w is Element of Omega: k1.w<=t}
      proof
       let x be object;
       thus x in {w where w is Element of Omega: k2.w<=t or k1.w<=t} implies
        x in {w where w is Element of Omega: k2.w<=t} \/
             {w where w is Element of Omega: k1.w<=t}
       proof
        assume x in {w where w is Element of Omega: k2.w<=t or k1.w<=t};
        then consider w3 being Element of Omega such that
         V2: x=w3 & (k2.w3<=t or k1.w3<=t);
        x in {w where w is Element of Omega: k2.w<=t} or
        x in {w where w is Element of Omega: k1.w<=t} by V2;
       hence thesis by XBOOLE_0:def 3;
       end;
        assume x in {w where w is Element of Omega: k2.w<=t} \/
             {w where w is Element of Omega: k1.w<=t}; then
        V0: x in {w where w is Element of Omega: k2.w<=t} or
         x in {w where w is Element of Omega: k1.w<=t} by XBOOLE_0:def 3;
        (ex w3 being Element of Omega st x=w3 & k2.w3<=t) or
        (ex w3 being Element of Omega st x=w3 & k1.w3<=t) by V0;
       hence thesis;
      end;
     hence thesis by TARSKI:2;
     end;
    {w where w is Element of Omega: k2.w<=t} \/
      {w where w is Element of Omega: k1.w<=t} in MyFunc.t
    proof
     reconsider M = MyFunc.t as SigmaField of Omega by KOLMOG01:def 2;
     {w where w is Element of Omega: k1.w<=t} is Element of M &
     {w where w is Element of Omega: k2.w<=t} is Element of M by ASS,KJK;
    hence thesis by PROB_1:3;
    end;
   hence thesis by O2,O1;
   end;
  hence thesis by KJK;
  end;
 hence thesis;
end;
