↑ Up

DT2H2X---1.9.5.THM-Ref.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : DT2H2X---1.9.5
% Problem  : ITP047^2 : TPTP v9.2.1. Released v7.5.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300

% Computer : n015.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Wed Feb 25 08:55:07 AM UTC 2026

% Result   : Theorem 5.28s 2.07s
% Output   : Refutation 5.28s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : ITP047^2 : TPTP v9.2.1. Released v7.5.0.
% 0.12/0.13  % Command  : /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.15/0.34  % Computer : n015.cluster.edu
% 0.15/0.34  % Model    : x86_64 x86_64
% 0.15/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.34  % Memory   : 8042.1875MB
% 0.15/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.34  % CPULimit : 300
% 0.15/0.34  % WCLimit  : 300
% 0.15/0.34  % DateTime : Tue Feb 24 08:24:46 EST 2026
% 0.15/0.34  % CPUTime  : 
% 0.15/0.34  Running /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.30/0.46  ---- Original DTF file ---
% 0.30/0.47  thf(spec,logic,$$dhol).
% 0.30/0.47  %------------------------------------------------------------------------------
% 0.30/0.47  % File     : ITP047^2 : TPTP v9.2.1. Released v7.5.0.
% 0.30/0.47  % Domain   : Interactive Theorem Proving
% 0.30/0.47  % Problem  : Sledgehammer Determinacy problem prob_914__3357784_1
% 0.30/0.47  % Version  : Especial.
% 0.30/0.47  % English  :
% 0.30/0.47  
% 0.30/0.47  % Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% 0.30/0.47  %          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% 0.30/0.47  % Source   : [Des21]
% 0.30/0.47  % Names    : Determinacy/prob_914__3357784_1 [Des21]
% 0.30/0.47  
% 0.30/0.47  % Status   : Theorem
% 0.30/0.47  % Rating   : 0.33 v8.1.0, 0.25 v7.5.0
% 0.30/0.47  % Syntax   : Number of formulae    :  339 (  92 unt;  71 typ;   0 def)
% 0.30/0.47  %            Number of atoms       :  913 ( 385 equ;   0 cnn)
% 0.30/0.47  %            Maximal formula atoms :   13 (   3 avg)
% 0.30/0.47  %            Number of connectives : 21296 ( 134   ~;  50   |;  77   &;20602   @)
% 0.30/0.47  %                                         (   0 <=>; 433  =>;   0  <=;   0 <~>)
% 0.30/0.47  %            Maximal formula depth :   44 (  13 avg)
% 0.30/0.47  %            Number of types       :    5 (   4 usr)
% 0.30/0.47  %            Number of type conns  : 2396 (2396   >;   0   *;   0   +;   0  <<)
% 0.30/0.47  %            Number of symbols     :   70 (  67 usr;   7 con; 0-7 aty)
% 0.30/0.47  %            Number of variables   : 1833 (  67   ^;1576   !;  74   ?;1833   :)
% 0.30/0.47  %                                         ( 116  !>;   0  ?*;   0  @-;   0  @+)
% 0.30/0.47  % SPC      : TH1_THM_EQU_NAR
% 0.30/0.47  
% 0.30/0.47  % Comments : This file was generated by Sledgehammer 2021-02-23 16:19:52.176
% 0.30/0.47  %------------------------------------------------------------------------------
% 0.30/0.47  % Could-be-implicit typings (11)
% 0.30/0.47  thf(ty_t_Product__Type_Oprod,type,
% 0.30/0.47      product_prod: $tType > $tType > $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_t_Sum__Type_Osum,type,
% 0.30/0.47      sum_sum: $tType > $tType > $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_t_Option_Ooption,type,
% 0.30/0.47      option: $tType > $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_t_Data_Oconst,type,
% 0.30/0.47      const: $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_t_Data_Ocntxt,type,
% 0.30/0.47      cntxt: $tType > $tType > $tType > $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_t_Data_Oexpr,type,
% 0.30/0.47      expr: $tType > $tType > $tType > $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_t_Data_Oval,type,
% 0.30/0.47      val: $tType > $tType > $tType > $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_t_Set_Oset,type,
% 0.30/0.47      set: $tType > $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_tf_v,type,
% 0.30/0.47      v: $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_tf_r,type,
% 0.30/0.47      r: $tType ).
% 0.30/0.47  
% 0.30/0.47  thf(ty_tf_l,type,
% 0.30/0.47      l: $tType ).
% 0.30/0.47  
% 0.30/0.47  % Explicit typings (60)
% 0.30/0.47  thf(sy_cl_HOL_Otype,type,
% 0.30/0.47      type: 
% 0.30/0.47        !>[A: $tType] : $o ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_cl_Orderings_Oorder,type,
% 0.30/0.47      order: 
% 0.30/0.47        !>[A: $tType] : $o ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_cl_Finite__Set_Ofinite,type,
% 0.30/0.47      finite_finite: 
% 0.30/0.47        !>[A: $tType] : $o ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_cl_Nat_Osemiring__char__0,type,
% 0.30/0.47      semiring_char_0: 
% 0.30/0.47        !>[A: $tType] : $o ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_OLID__expression,type,
% 0.30/0.47      lID_expression: 
% 0.30/0.47        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > ( expr @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_OLID__local__store,type,
% 0.30/0.47      lID_local_store: 
% 0.30/0.47        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > L > ( option @ ( val @ R @ L @ V ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_OLID__snapshot,type,
% 0.30/0.47      lID_snapshot: 
% 0.30/0.47        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > L > ( option @ ( val @ R @ L @ V ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Ocombine,type,
% 0.30/0.47      combine: 
% 0.30/0.47        !>[A: $tType,B: $tType] : ( ( A > ( option @ B ) ) > ( A > ( option @ B ) ) > A > ( option @ B ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Oconst_OUnit,type,
% 0.30/0.47      unit: const ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Oexpr_ORef,type,
% 0.30/0.47      ref: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Oexpr_ORfork,type,
% 0.30/0.47      rfork: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Oexpr_ORjoin,type,
% 0.30/0.47      rjoin: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Oexpr_OVE,type,
% 0.30/0.47      ve: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( val @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Oplug,type,
% 0.30/0.47      plug: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( cntxt @ R @ L @ V ) > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Oval_OCV,type,
% 0.30/0.47      cv: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( const > ( val @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Oval_OLoc,type,
% 0.30/0.47      loc: 
% 0.30/0.47        !>[L: $tType,R: $tType,V: $tType] : ( L > ( val @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Data_Oval_ORid,type,
% 0.30/0.47      rid: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( R > ( val @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Executions_Osubstitution_Oexecution,type,
% 0.30/0.47      execution: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > ( expr @ R @ L @ V ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Executions_Osubstitution_Oinductive__invariant,type,
% 0.30/0.47      inductive_invariant: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Executions_Osubstitution_Oreachable,type,
% 0.30/0.47      reachable: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Finite__Set_Ofinite,type,
% 0.30/0.47      finite_finite2: 
% 0.30/0.47        !>[A: $tType] : ( ( set @ A ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Fun_Obij__betw,type,
% 0.30/0.47      bij_betw: 
% 0.30/0.47        !>[A: $tType,B: $tType] : ( ( A > B ) > ( set @ A ) > ( set @ B ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Fun_Ofun__upd,type,
% 0.30/0.47      fun_upd: 
% 0.30/0.47        !>[A: $tType,B: $tType] : ( ( A > B ) > A > B > A > B ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_If,type,
% 0.30/0.47      if: 
% 0.30/0.47        !>[A: $tType] : ( $o > A > A > A ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Map_Omap__comp,type,
% 0.30/0.47      map_comp: 
% 0.30/0.47        !>[B: $tType,C: $tType,A: $tType] : ( ( B > ( option @ C ) ) > ( A > ( option @ B ) ) > A > ( option @ C ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Occurrences_OLID_092_060_094sub_062G,type,
% 0.30/0.47      lID_G: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( set @ L ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Occurrences_OLID_092_060_094sub_062L,type,
% 0.30/0.47      lID_L: 
% 0.30/0.47        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > ( set @ L ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Occurrences_ORID_092_060_094sub_062G,type,
% 0.30/0.47      rID_G: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( set @ R ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Occurrences_ORID_092_060_094sub_062L,type,
% 0.30/0.47      rID_L: 
% 0.30/0.47        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > ( set @ R ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_OperationalSemantics_Osubstitution_Odomains__subsume,type,
% 0.30/0.47      domains_subsume: 
% 0.30/0.47        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_OperationalSemantics_Osubstitution_Odomains__subsume__globally,type,
% 0.30/0.47      domain398919503obally: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_OperationalSemantics_Osubstitution_Orevision__step,type,
% 0.30/0.47      revision_step: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > R > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_OperationalSemantics_Osubstitution_Orevision__step__relaxed,type,
% 0.30/0.47      revisi1433015572elaxed: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > R > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_OperationalSemantics_Osubstitution_Osubsumes__accessible,type,
% 0.30/0.47      subsumes_accessible: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( R > R > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_OperationalSemantics_Osubstitution_Osubsumes__accessible__globally,type,
% 0.30/0.47      subsum380726323obally: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Option_Ooption_ONone,type,
% 0.30/0.47      none: 
% 0.30/0.47        !>[A: $tType] : ( option @ A ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Option_Ooption_OSome,type,
% 0.30/0.47      some: 
% 0.30/0.47        !>[A: $tType] : ( A > ( option @ A ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 0.30/0.47      ord_less_eq: 
% 0.30/0.47        !>[A: $tType] : ( A > A > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Orderings_Otop__class_Otop,type,
% 0.30/0.47      top_top: 
% 0.30/0.47        !>[A: $tType] : A ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Product__Type_OPair,type,
% 0.30/0.47      product_Pair: 
% 0.30/0.47        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 0.30/0.47      produc2004651681e_prod: 
% 0.30/0.47        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 0.30/0.47      product_rec_prod: 
% 0.30/0.47        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Renaming_O_092_060R_062_092_060_094sub_062G,type,
% 0.30/0.47      r_G: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( R > R ) > ( L > L ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Renaming_O_092_060R_062_092_060_094sub_062L,type,
% 0.30/0.47      r_L: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( R > R ) > ( L > L ) > ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Renaming_Oeq__states,type,
% 0.30/0.47      eq_states: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Renaming_Ois__global__renaming,type,
% 0.30/0.47      is_global_renaming: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( R > R ) > ( L > L ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Set_OCollect,type,
% 0.30/0.47      collect: 
% 0.30/0.47        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_Substitution_Osubstitution,type,
% 0.30/0.47      substitution: 
% 0.30/0.47        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_c_member,type,
% 0.30/0.47      member: 
% 0.30/0.47        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v__092_060E_062____,type,
% 0.30/0.47      e: cntxt @ r @ l @ v ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v__092_060alpha_062,type,
% 0.30/0.47      alpha: r > r ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v__092_060beta_062,type,
% 0.30/0.47      beta: l > l ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v__092_060sigma_062____,type,
% 0.30/0.47      sigma: l > ( option @ ( val @ r @ l @ v ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v__092_060tau_062____,type,
% 0.30/0.47      tau: l > ( option @ ( val @ r @ l @ v ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v_e____,type,
% 0.30/0.47      e2: expr @ r @ l @ v ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v_r,type,
% 0.30/0.47      r2: r ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v_r_H____,type,
% 0.30/0.47      r3: r ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v_s,type,
% 0.30/0.47      s: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v_s_H,type,
% 0.30/0.47      s2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(sy_v_subst,type,
% 0.30/0.47      subst: ( expr @ r @ l @ v ) > v > ( expr @ r @ l @ v ) > ( expr @ r @ l @ v ) ).
% 0.30/0.47  
% 0.30/0.47  % Relevant facts (255)
% 0.30/0.47  thf(fact_0_local_Ofork_I2_J,axiom,
% 0.30/0.47      ( ( s @ r2 )
% 0.30/0.47      = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ tau @ ( plug @ r @ l @ v @ e @ ( rfork @ r @ l @ v @ e2 ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % local.fork(2)
% 0.30/0.47  thf(fact_1_expr_Oinject_I7_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X7: expr @ R @ L @ V,Y7: expr @ R @ L @ V] :
% 0.30/0.47        ( ( ( rfork @ R @ L @ V @ X7 )
% 0.30/0.47          = ( rfork @ R @ L @ V @ Y7 ) )
% 0.30/0.47        = ( X7 = Y7 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.inject(7)
% 0.30/0.47  thf(fact_2_injective__cntxt,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,E: cntxt @ A @ B @ C,E1: expr @ A @ B @ C,E2: expr @ A @ B @ C] :
% 0.30/0.47        ( ( ( plug @ A @ B @ C @ E @ E1 )
% 0.30/0.47          = ( plug @ A @ B @ C @ E @ E2 ) )
% 0.30/0.47        = ( E1 = E2 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % injective_cntxt
% 0.30/0.47  thf(fact_3_fun__upd__upd,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,F: A > B,X: A,Y: B,Z: B] :
% 0.30/0.47        ( ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ F @ X @ Y ) @ X @ Z )
% 0.30/0.47        = ( fun_upd @ A @ B @ F @ X @ Z ) ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_upd
% 0.30/0.47  thf(fact_4_fun__upd__triv,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,F: A > B,X: A] :
% 0.30/0.47        ( ( fun_upd @ A @ B @ F @ X @ ( F @ X ) )
% 0.30/0.47        = F ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_triv
% 0.30/0.47  thf(fact_5_fun__upd__apply,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType] :
% 0.30/0.47        ( ( fun_upd @ B @ A )
% 0.30/0.47        = ( ^ [F2: B > A,X2: B,Y2: A,Z2: B] : ( if @ A @ ( Z2 = X2 ) @ Y2 @ ( F2 @ Z2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_apply
% 0.30/0.47  thf(fact_6_option_Oinject,axiom,
% 0.30/0.47      ! [A: $tType,X22: A,Y22: A] :
% 0.30/0.47        ( ( ( some @ A @ X22 )
% 0.30/0.47          = ( some @ A @ Y22 ) )
% 0.30/0.47        = ( X22 = Y22 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % option.inject
% 0.30/0.47  thf(fact_7_prod_Oinject,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,X1: A,X22: B,Y1: A,Y22: B] :
% 0.30/0.47        ( ( ( product_Pair @ A @ B @ X1 @ X22 )
% 0.30/0.47          = ( product_Pair @ A @ B @ Y1 @ Y22 ) )
% 0.30/0.47        = ( ( X1 = Y1 )
% 0.30/0.47          & ( X22 = Y22 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod.inject
% 0.30/0.47  thf(fact_8_old_Oprod_Oinject,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 0.30/0.47        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.30/0.47          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.30/0.47        = ( ( A2 = A3 )
% 0.30/0.47          & ( B2 = B3 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % old.prod.inject
% 0.30/0.47  thf(fact_9_LID__local__store_Ocases,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 0.30/0.47        ~ ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 0.30/0.47            ( X
% 0.30/0.47           != ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % LID_local_store.cases
% 0.30/0.47  thf(fact_10_LID__local__store_Oinduct,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,P: ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > $o,A0: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 0.30/0.47        ( ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] : ( P @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 0.30/0.47       => ( P @ A0 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % LID_local_store.induct
% 0.30/0.47  thf(fact_11__092_060R_062_092_060_094sub_062L_Oinduct,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,P: ( R > R ) > ( L > L ) > ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > $o,A0: R > R,A1: L > L,A22: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 0.30/0.47        ( ! [Alpha: R > R,Beta: L > L,Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] : ( P @ Alpha @ Beta @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 0.30/0.47       => ( P @ A0 @ A1 @ A22 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % \<R>\<^sub>L.induct
% 0.30/0.47  thf(fact_12_map__upd__eqD1,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,M: A > ( option @ B ),A2: A,X: B,N: A > ( option @ B ),Y: B] :
% 0.30/0.47        ( ( ( fun_upd @ A @ ( option @ B ) @ M @ A2 @ ( some @ B @ X ) )
% 0.30/0.47          = ( fun_upd @ A @ ( option @ B ) @ N @ A2 @ ( some @ B @ Y ) ) )
% 0.30/0.47       => ( X = Y ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_upd_eqD1
% 0.30/0.47  thf(fact_13__092_060R_062_092_060_094sub_062L_Ocases,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X: product_prod @ ( R > R ) @ ( product_prod @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ~ ! [Alpha: R > R,Beta: L > L,Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 0.30/0.47            ( X
% 0.30/0.47           != ( product_Pair @ ( R > R ) @ ( product_prod @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ Alpha @ ( product_Pair @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Beta @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % \<R>\<^sub>L.cases
% 0.30/0.47  thf(fact_14__092_060R_062_092_060_094sub_062S_Ocases,axiom,
% 0.30/0.47      ! [R: $tType,V: $tType,L: $tType,X: product_prod @ ( R > R ) @ ( product_prod @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ L ) )] :
% 0.30/0.47        ~ ! [Alpha: R > R,Beta: L > L,Sigma: L > ( option @ ( val @ R @ L @ V ) ),L2: L] :
% 0.30/0.47            ( X
% 0.30/0.47           != ( product_Pair @ ( R > R ) @ ( product_prod @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ L ) ) @ Alpha @ ( product_Pair @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ L ) @ Beta @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ L @ Sigma @ L2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % \<R>\<^sub>S.cases
% 0.30/0.47  thf(fact_15_old_Oprod_Oinducts,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 0.30/0.47        ( ! [A4: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A4 @ B4 ) )
% 0.30/0.47       => ( P @ Prod ) ) ).
% 0.30/0.47  
% 0.30/0.47  % old.prod.inducts
% 0.30/0.47  thf(fact_16_old_Oprod_Oexhaust,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 0.30/0.47        ~ ! [A4: A,B4: B] :
% 0.30/0.47            ( Y
% 0.30/0.47           != ( product_Pair @ A @ B @ A4 @ B4 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % old.prod.exhaust
% 0.30/0.47  thf(fact_17_Pair__inject,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 0.30/0.47        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.30/0.47          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.30/0.47       => ~ ( ( A2 = A3 )
% 0.30/0.47           => ( B2 != B3 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % Pair_inject
% 0.30/0.47  thf(fact_18_prod__cases,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 0.30/0.47        ( ! [A4: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A4 @ B4 ) )
% 0.30/0.47       => ( P @ P2 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_cases
% 0.30/0.47  thf(fact_19_surj__pair,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 0.30/0.47      ? [X3: A,Y3: B] :
% 0.30/0.47        ( P2
% 0.30/0.47        = ( product_Pair @ A @ B @ X3 @ Y3 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % surj_pair
% 0.30/0.47  thf(fact_20_fun__upd__idem__iff,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,F: A > B,X: A,Y: B] :
% 0.30/0.47        ( ( ( fun_upd @ A @ B @ F @ X @ Y )
% 0.30/0.47          = F )
% 0.30/0.47        = ( ( F @ X )
% 0.30/0.47          = Y ) ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_idem_iff
% 0.30/0.47  thf(fact_21_fun__upd__twist,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,A2: A,C2: A,M: A > B,B2: B,D: B] :
% 0.30/0.47        ( ( A2 != C2 )
% 0.30/0.47       => ( ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ M @ A2 @ B2 ) @ C2 @ D )
% 0.30/0.47          = ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ M @ C2 @ D ) @ A2 @ B2 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_twist
% 0.30/0.47  thf(fact_22_fun__upd__other,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,Z: A,X: A,F: A > B,Y: B] :
% 0.30/0.47        ( ( Z != X )
% 0.30/0.47       => ( ( fun_upd @ A @ B @ F @ X @ Y @ Z )
% 0.30/0.47          = ( F @ Z ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_other
% 0.30/0.47  thf(fact_23_fun__upd__same,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,F: B > A,X: B,Y: A] :
% 0.30/0.47        ( ( fun_upd @ B @ A @ F @ X @ Y @ X )
% 0.30/0.47        = Y ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_same
% 0.30/0.47  thf(fact_24_fun__upd__idem,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,F: B > A,X: B,Y: A] :
% 0.30/0.47        ( ( ( F @ X )
% 0.30/0.47          = Y )
% 0.30/0.47       => ( ( fun_upd @ B @ A @ F @ X @ Y )
% 0.30/0.47          = F ) ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_idem
% 0.30/0.47  thf(fact_25_fun__upd__eqD,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,F: A > B,X: A,Y: B,G: A > B,Z: B] :
% 0.30/0.47        ( ( ( fun_upd @ A @ B @ F @ X @ Y )
% 0.30/0.47          = ( fun_upd @ A @ B @ G @ X @ Z ) )
% 0.30/0.47       => ( Y = Z ) ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_eqD
% 0.30/0.47  thf(fact_26_fun__upd__def,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType] :
% 0.30/0.47        ( ( fun_upd @ A @ B )
% 0.30/0.47        = ( ^ [F2: A > B,A5: A,B5: B,X2: A] : ( if @ B @ ( X2 = A5 ) @ B5 @ ( F2 @ X2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % fun_upd_def
% 0.30/0.47  thf(fact_27_prod__induct7,axiom,
% 0.30/0.47      ! [G2: $tType,F3: $tType,E4: $tType,D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) )] :
% 0.30/0.47        ( ! [A4: A,B4: B,C3: C,D3: D2,E3: E4,F4: F3,G3: G2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) @ D3 @ ( product_Pair @ E4 @ ( product_prod @ F3 @ G2 ) @ E3 @ ( product_Pair @ F3 @ G2 @ F4 @ G3 ) ) ) ) ) ) )
% 0.30/0.47       => ( P @ X ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_induct7
% 0.30/0.47  thf(fact_28_prod__induct6,axiom,
% 0.30/0.47      ! [F3: $tType,E4: $tType,D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) )] :
% 0.30/0.47        ( ! [A4: A,B4: B,C3: C,D3: D2,E3: E4,F4: F3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E4 @ F3 ) @ D3 @ ( product_Pair @ E4 @ F3 @ E3 @ F4 ) ) ) ) ) )
% 0.30/0.47       => ( P @ X ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_induct6
% 0.30/0.47  thf(fact_29_prod__induct5,axiom,
% 0.30/0.47      ! [E4: $tType,D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) )] :
% 0.30/0.47        ( ! [A4: A,B4: B,C3: C,D3: D2,E3: E4] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ E4 ) @ C3 @ ( product_Pair @ D2 @ E4 @ D3 @ E3 ) ) ) ) )
% 0.30/0.47       => ( P @ X ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_induct5
% 0.30/0.47  thf(fact_30_prod__induct4,axiom,
% 0.30/0.47      ! [D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) )] :
% 0.30/0.47        ( ! [A4: A,B4: B,C3: C,D3: D2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ D2 ) @ B4 @ ( product_Pair @ C @ D2 @ C3 @ D3 ) ) ) )
% 0.30/0.47       => ( P @ X ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_induct4
% 0.30/0.47  thf(fact_31_prod__induct3,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.30/0.47        ( ! [A4: A,B4: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A4 @ ( product_Pair @ B @ C @ B4 @ C3 ) ) )
% 0.30/0.47       => ( P @ X ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_induct3
% 0.30/0.47  thf(fact_32_prod__cases7,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,C: $tType,D2: $tType,E4: $tType,F3: $tType,G2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) )] :
% 0.30/0.47        ~ ! [A4: A,B4: B,C3: C,D3: D2,E3: E4,F4: F3,G3: G2] :
% 0.30/0.47            ( Y
% 0.30/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) @ D3 @ ( product_Pair @ E4 @ ( product_prod @ F3 @ G2 ) @ E3 @ ( product_Pair @ F3 @ G2 @ F4 @ G3 ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_cases7
% 0.30/0.47  thf(fact_33_prod__cases6,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,C: $tType,D2: $tType,E4: $tType,F3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) )] :
% 0.30/0.47        ~ ! [A4: A,B4: B,C3: C,D3: D2,E3: E4,F4: F3] :
% 0.30/0.47            ( Y
% 0.30/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E4 @ F3 ) @ D3 @ ( product_Pair @ E4 @ F3 @ E3 @ F4 ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_cases6
% 0.30/0.47  thf(fact_34_prod__cases5,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,C: $tType,D2: $tType,E4: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) )] :
% 0.30/0.47        ~ ! [A4: A,B4: B,C3: C,D3: D2,E3: E4] :
% 0.30/0.47            ( Y
% 0.30/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ E4 ) @ C3 @ ( product_Pair @ D2 @ E4 @ D3 @ E3 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_cases5
% 0.30/0.47  thf(fact_35_prod__cases4,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,C: $tType,D2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) )] :
% 0.30/0.47        ~ ! [A4: A,B4: B,C3: C,D3: D2] :
% 0.30/0.47            ( Y
% 0.30/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ D2 ) @ B4 @ ( product_Pair @ C @ D2 @ C3 @ D3 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_cases4
% 0.30/0.47  thf(fact_36_prod__cases3,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.30/0.47        ~ ! [A4: A,B4: B,C3: C] :
% 0.30/0.47            ( Y
% 0.30/0.47           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A4 @ ( product_Pair @ B @ C @ B4 @ C3 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % prod_cases3
% 0.30/0.47  thf(fact_37_combine_Ocases,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,X: product_prod @ ( A > ( option @ B ) ) @ ( product_prod @ ( A > ( option @ B ) ) @ A )] :
% 0.30/0.47        ~ ! [F4: A > ( option @ B ),G3: A > ( option @ B ),X3: A] :
% 0.30/0.47            ( X
% 0.30/0.47           != ( product_Pair @ ( A > ( option @ B ) ) @ ( product_prod @ ( A > ( option @ B ) ) @ A ) @ F4 @ ( product_Pair @ ( A > ( option @ B ) ) @ A @ G3 @ X3 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % combine.cases
% 0.30/0.47  thf(fact_38_map__upd__Some__unfold,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,M: B > ( option @ A ),A2: B,B2: A,X: B,Y: A] :
% 0.30/0.47        ( ( ( fun_upd @ B @ ( option @ A ) @ M @ A2 @ ( some @ A @ B2 ) @ X )
% 0.30/0.47          = ( some @ A @ Y ) )
% 0.30/0.47        = ( ( ( X = A2 )
% 0.30/0.47            & ( B2 = Y ) )
% 0.30/0.47          | ( ( X != A2 )
% 0.30/0.47            & ( ( M @ X )
% 0.30/0.47              = ( some @ A @ Y ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_upd_Some_unfold
% 0.30/0.47  thf(fact_39_map__upd__triv,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,T2: B > ( option @ A ),K: B,X: A] :
% 0.30/0.47        ( ( ( T2 @ K )
% 0.30/0.47          = ( some @ A @ X ) )
% 0.30/0.47       => ( ( fun_upd @ B @ ( option @ A ) @ T2 @ K @ ( some @ A @ X ) )
% 0.30/0.47          = T2 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_upd_triv
% 0.30/0.47  thf(fact_40_old_Oprod_Orec,axiom,
% 0.30/0.47      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
% 0.30/0.47        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.30/0.47        = ( F1 @ A2 @ B2 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % old.prod.rec
% 0.30/0.47  thf(fact_41_LID__local__store_Osimps,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E5: expr @ R @ L @ V] :
% 0.30/0.47        ( ( lID_local_store @ L @ R @ V @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ E5 ) ) )
% 0.30/0.47        = Tau2 ) ).
% 0.30/0.47  
% 0.30/0.47  % LID_local_store.simps
% 0.30/0.47  thf(fact_42_LID__local__store_Oelims,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),Y: L > ( option @ ( val @ R @ L @ V ) )] :
% 0.30/0.47        ( ( ( lID_local_store @ L @ R @ V @ X )
% 0.30/0.47          = Y )
% 0.30/0.47       => ~ ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) )] :
% 0.30/0.47              ( ? [E3: expr @ R @ L @ V] :
% 0.30/0.47                  ( X
% 0.30/0.47                  = ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 0.30/0.47             => ( Y != Tau ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % LID_local_store.elims
% 0.30/0.47  thf(fact_43_LID__expression_Osimps,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E5: expr @ R @ L @ V] :
% 0.30/0.47        ( ( lID_expression @ L @ R @ V @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ E5 ) ) )
% 0.30/0.47        = E5 ) ).
% 0.30/0.47  
% 0.30/0.47  % LID_expression.simps
% 0.30/0.47  thf(fact_44_LID__expression_Oelims,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),Y: expr @ R @ L @ V] :
% 0.30/0.47        ( ( ( lID_expression @ L @ R @ V @ X )
% 0.30/0.47          = Y )
% 0.30/0.47       => ~ ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 0.30/0.47              ( ( X
% 0.30/0.47                = ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 0.30/0.47             => ( Y != E3 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % LID_expression.elims
% 0.30/0.47  thf(fact_45_mem__Collect__eq,axiom,
% 0.30/0.47      ! [A: $tType,A2: A,P: A > $o] :
% 0.30/0.47        ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 0.30/0.47        = ( P @ A2 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % mem_Collect_eq
% 0.30/0.47  thf(fact_46_Collect__mem__eq,axiom,
% 0.30/0.47      ! [A: $tType,A6: set @ A] :
% 0.30/0.47        ( ( collect @ A
% 0.30/0.47          @ ^ [X2: A] : ( member @ A @ X2 @ A6 ) )
% 0.30/0.47        = A6 ) ).
% 0.30/0.47  
% 0.30/0.47  % Collect_mem_eq
% 0.30/0.47  thf(fact_47_Collect__cong,axiom,
% 0.30/0.47      ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.30/0.47        ( ! [X3: A] :
% 0.30/0.47            ( ( P @ X3 )
% 0.30/0.47            = ( Q @ X3 ) )
% 0.30/0.47       => ( ( collect @ A @ P )
% 0.30/0.47          = ( collect @ A @ Q ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % Collect_cong
% 0.30/0.47  thf(fact_48_ext,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 0.30/0.47        ( ! [X3: A] :
% 0.30/0.47            ( ( F @ X3 )
% 0.30/0.47            = ( G @ X3 ) )
% 0.30/0.47       => ( F = G ) ) ).
% 0.30/0.47  
% 0.30/0.47  % ext
% 0.30/0.47  thf(fact_49_local_Ofork_I3_J,axiom,
% 0.30/0.47      ~ ( member @ r @ r3 @ ( rID_G @ r @ l @ v @ s ) ) ).
% 0.30/0.47  
% 0.30/0.47  % local.fork(3)
% 0.30/0.47  thf(fact_50_LID__snapshot_Osimps,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E5: expr @ R @ L @ V] :
% 0.30/0.47        ( ( lID_snapshot @ L @ R @ V @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ E5 ) ) )
% 0.30/0.47        = Sigma2 ) ).
% 0.30/0.47  
% 0.30/0.47  % LID_snapshot.simps
% 0.30/0.47  thf(fact_51_LID__snapshot_Oelims,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),Y: L > ( option @ ( val @ R @ L @ V ) )] :
% 0.30/0.47        ( ( ( lID_snapshot @ L @ R @ V @ X )
% 0.30/0.47          = Y )
% 0.30/0.47       => ~ ! [Sigma: L > ( option @ ( val @ R @ L @ V ) )] :
% 0.30/0.47              ( ? [Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 0.30/0.47                  ( X
% 0.30/0.47                  = ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 0.30/0.47             => ( Y != Sigma ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % LID_snapshot.elims
% 0.30/0.47  thf(fact_52_internal__case__prod__conv,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,C: $tType,C2: B > C > A,A2: B,B2: C] :
% 0.30/0.47        ( ( produc2004651681e_prod @ B @ C @ A @ C2 @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 0.30/0.47        = ( C2 @ A2 @ B2 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % internal_case_prod_conv
% 0.30/0.47  thf(fact_53_map__comp__simps_I2_J,axiom,
% 0.30/0.47      ! [B: $tType,C: $tType,A: $tType,M2: B > ( option @ A ),K: B,K2: A,M1: A > ( option @ C )] :
% 0.30/0.47        ( ( ( M2 @ K )
% 0.30/0.47          = ( some @ A @ K2 ) )
% 0.30/0.47       => ( ( map_comp @ A @ C @ B @ M1 @ M2 @ K )
% 0.30/0.47          = ( M1 @ K2 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_comp_simps(2)
% 0.30/0.47  thf(fact_54_local_Ofork_I1_J,axiom,
% 0.30/0.47      ( s2
% 0.30/0.47      = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ s @ r2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ tau @ ( plug @ r @ l @ v @ e @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ r3 ) ) ) ) ) ) ) @ r3
% 0.30/0.47        @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 0.30/0.47          @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ sigma @ tau )
% 0.30/0.47            @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 0.30/0.47              @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 0.30/0.47              @ e2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % local.fork(1)
% 0.30/0.47  thf(fact_55_expr_Oinject_I1_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X1: val @ R @ L @ V,Y1: val @ R @ L @ V] :
% 0.30/0.47        ( ( ( ve @ R @ L @ V @ X1 )
% 0.30/0.47          = ( ve @ R @ L @ V @ Y1 ) )
% 0.30/0.47        = ( X1 = Y1 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.inject(1)
% 0.30/0.47  thf(fact_56_val_Oinject_I4_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X4: R,Y4: R] :
% 0.30/0.47        ( ( ( rid @ R @ L @ V @ X4 )
% 0.30/0.47          = ( rid @ R @ L @ V @ Y4 ) )
% 0.30/0.47        = ( X4 = Y4 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % val.inject(4)
% 0.30/0.47  thf(fact_57_not__None__eq,axiom,
% 0.30/0.47      ! [A: $tType,X: option @ A] :
% 0.30/0.47        ( ( X
% 0.30/0.47         != ( none @ A ) )
% 0.30/0.47        = ( ? [Y2: A] :
% 0.30/0.47              ( X
% 0.30/0.47              = ( some @ A @ Y2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % not_None_eq
% 0.30/0.47  thf(fact_58_not__Some__eq,axiom,
% 0.30/0.47      ! [A: $tType,X: option @ A] :
% 0.30/0.47        ( ( ! [Y2: A] :
% 0.30/0.47              ( X
% 0.30/0.47             != ( some @ A @ Y2 ) ) )
% 0.30/0.47        = ( X
% 0.30/0.47          = ( none @ A ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % not_Some_eq
% 0.30/0.47  thf(fact_59_empty__upd__none,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,X: A] :
% 0.30/0.47        ( ( fun_upd @ A @ ( option @ B )
% 0.30/0.47          @ ^ [X2: A] : ( none @ B )
% 0.30/0.47          @ X
% 0.30/0.47          @ ( none @ B ) )
% 0.30/0.47        = ( ^ [X2: A] : ( none @ B ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % empty_upd_none
% 0.30/0.47  thf(fact_60_map__comp__simps_I1_J,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,C: $tType,M2: B > ( option @ A ),K: B,M1: A > ( option @ C )] :
% 0.30/0.47        ( ( ( M2 @ K )
% 0.30/0.47          = ( none @ A ) )
% 0.30/0.47       => ( ( map_comp @ A @ C @ B @ M1 @ M2 @ K )
% 0.30/0.47          = ( none @ C ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_comp_simps(1)
% 0.30/0.47  thf(fact_61_map__comp__empty_I2_J,axiom,
% 0.30/0.47      ! [B: $tType,D2: $tType,C: $tType,M: C > ( option @ B )] :
% 0.30/0.47        ( ( map_comp @ B @ D2 @ C
% 0.30/0.47          @ ^ [X2: B] : ( none @ D2 )
% 0.30/0.47          @ M )
% 0.30/0.47        = ( ^ [X2: C] : ( none @ D2 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_comp_empty(2)
% 0.30/0.47  thf(fact_62_map__comp__empty_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,M: C > ( option @ B )] :
% 0.30/0.47        ( ( map_comp @ C @ B @ A @ M
% 0.30/0.47          @ ^ [X2: A] : ( none @ C ) )
% 0.30/0.47        = ( ^ [X2: A] : ( none @ B ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_comp_empty(1)
% 0.30/0.47  thf(fact_63_combine_Oelims,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,X: A > ( option @ B ),Xa: A > ( option @ B ),Xb: A,Y: option @ B] :
% 0.30/0.47        ( ( ( combine @ A @ B @ X @ Xa @ Xb )
% 0.30/0.47          = Y )
% 0.30/0.47       => ( ( ( ( Xa @ Xb )
% 0.30/0.47              = ( none @ B ) )
% 0.30/0.47           => ( Y
% 0.30/0.47              = ( X @ Xb ) ) )
% 0.30/0.47          & ( ( ( Xa @ Xb )
% 0.30/0.47             != ( none @ B ) )
% 0.30/0.47           => ( Y
% 0.30/0.47              = ( Xa @ Xb ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % combine.elims
% 0.30/0.47  thf(fact_64_combine_Osimps,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType] :
% 0.30/0.47        ( ( combine @ A @ B )
% 0.30/0.47        = ( ^ [F2: A > ( option @ B ),G4: A > ( option @ B ),X2: A] :
% 0.30/0.47              ( if @ ( option @ B )
% 0.30/0.47              @ ( ( G4 @ X2 )
% 0.30/0.47                = ( none @ B ) )
% 0.30/0.47              @ ( F2 @ X2 )
% 0.30/0.47              @ ( G4 @ X2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % combine.simps
% 0.30/0.47  thf(fact_65_map__comp__None__iff,axiom,
% 0.30/0.47      ! [A: $tType,C: $tType,B: $tType,M1: B > ( option @ A ),M2: C > ( option @ B ),K: C] :
% 0.30/0.47        ( ( ( map_comp @ B @ A @ C @ M1 @ M2 @ K )
% 0.30/0.47          = ( none @ A ) )
% 0.30/0.47        = ( ( ( M2 @ K )
% 0.30/0.47            = ( none @ B ) )
% 0.30/0.47          | ? [K3: B] :
% 0.30/0.47              ( ( ( M2 @ K )
% 0.30/0.47                = ( some @ B @ K3 ) )
% 0.30/0.47              & ( ( M1 @ K3 )
% 0.30/0.47                = ( none @ A ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_comp_None_iff
% 0.30/0.47  thf(fact_66_option_Odistinct_I1_J,axiom,
% 0.30/0.47      ! [A: $tType,X22: A] :
% 0.30/0.47        ( ( none @ A )
% 0.30/0.47       != ( some @ A @ X22 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % option.distinct(1)
% 0.30/0.47  thf(fact_67_option_OdiscI,axiom,
% 0.30/0.47      ! [A: $tType,Option: option @ A,X22: A] :
% 0.30/0.47        ( ( Option
% 0.30/0.47          = ( some @ A @ X22 ) )
% 0.30/0.47       => ( Option
% 0.30/0.47         != ( none @ A ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % option.discI
% 0.30/0.47  thf(fact_68_option_Oexhaust,axiom,
% 0.30/0.47      ! [A: $tType,Y: option @ A] :
% 0.30/0.47        ( ( Y
% 0.30/0.47         != ( none @ A ) )
% 0.30/0.47       => ~ ! [X23: A] :
% 0.30/0.47              ( Y
% 0.30/0.47             != ( some @ A @ X23 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % option.exhaust
% 0.30/0.47  thf(fact_69_option_Oinducts,axiom,
% 0.30/0.47      ! [A: $tType,P: ( option @ A ) > $o,Option: option @ A] :
% 0.30/0.47        ( ( P @ ( none @ A ) )
% 0.30/0.47       => ( ! [X3: A] : ( P @ ( some @ A @ X3 ) )
% 0.30/0.47         => ( P @ Option ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % option.inducts
% 0.30/0.47  thf(fact_70_split__option__ex,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( ^ [P3: ( option @ A ) > $o] :
% 0.30/0.47            ? [X5: option @ A] : ( P3 @ X5 ) )
% 0.30/0.47        = ( ^ [P4: ( option @ A ) > $o] :
% 0.30/0.47              ( ( P4 @ ( none @ A ) )
% 0.30/0.47              | ? [X2: A] : ( P4 @ ( some @ A @ X2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % split_option_ex
% 0.30/0.47  thf(fact_71_split__option__all,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( ^ [P3: ( option @ A ) > $o] :
% 0.30/0.47            ! [X5: option @ A] : ( P3 @ X5 ) )
% 0.30/0.47        = ( ^ [P4: ( option @ A ) > $o] :
% 0.30/0.47              ( ( P4 @ ( none @ A ) )
% 0.30/0.47              & ! [X2: A] : ( P4 @ ( some @ A @ X2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % split_option_all
% 0.30/0.47  thf(fact_72_combine__options__cases,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,X: option @ A,P: ( option @ A ) > ( option @ B ) > $o,Y: option @ B] :
% 0.30/0.47        ( ( ( X
% 0.30/0.47            = ( none @ A ) )
% 0.30/0.47         => ( P @ X @ Y ) )
% 0.30/0.47       => ( ( ( Y
% 0.30/0.47              = ( none @ B ) )
% 0.30/0.47           => ( P @ X @ Y ) )
% 0.30/0.47         => ( ! [A4: A,B4: B] :
% 0.30/0.47                ( ( X
% 0.30/0.47                  = ( some @ A @ A4 ) )
% 0.30/0.47               => ( ( Y
% 0.30/0.47                    = ( some @ B @ B4 ) )
% 0.30/0.47                 => ( P @ X @ Y ) ) )
% 0.30/0.47           => ( P @ X @ Y ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % combine_options_cases
% 0.30/0.47  thf(fact_73_expr_Odistinct_I11_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X1: val @ R @ L @ V,X7: expr @ R @ L @ V] :
% 0.30/0.47        ( ( ve @ R @ L @ V @ X1 )
% 0.30/0.47       != ( rfork @ R @ L @ V @ X7 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.distinct(11)
% 0.30/0.47  thf(fact_74_map__upd__nonempty,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,T2: A > ( option @ B ),K: A,X: B] :
% 0.30/0.47        ( ( fun_upd @ A @ ( option @ B ) @ T2 @ K @ ( some @ B @ X ) )
% 0.30/0.47       != ( ^ [X2: A] : ( none @ B ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_upd_nonempty
% 0.30/0.47  thf(fact_75_map__comp__Some__iff,axiom,
% 0.30/0.47      ! [A: $tType,C: $tType,B: $tType,M1: B > ( option @ A ),M2: C > ( option @ B ),K: C,V2: A] :
% 0.30/0.47        ( ( ( map_comp @ B @ A @ C @ M1 @ M2 @ K )
% 0.30/0.47          = ( some @ A @ V2 ) )
% 0.30/0.47        = ( ? [K3: B] :
% 0.30/0.47              ( ( ( M2 @ K )
% 0.30/0.47                = ( some @ B @ K3 ) )
% 0.30/0.47              & ( ( M1 @ K3 )
% 0.30/0.47                = ( some @ A @ V2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % map_comp_Some_iff
% 0.30/0.47  thf(fact_76_restrictions__inwards,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,X: A,X6: A,F: A > ( option @ B ),Y: B] :
% 0.30/0.47        ( ( X != X6 )
% 0.30/0.47       => ( ( fun_upd @ A @ ( option @ B ) @ ( fun_upd @ A @ ( option @ B ) @ F @ X @ ( some @ B @ Y ) ) @ X6 @ ( none @ B ) )
% 0.30/0.47          = ( fun_upd @ A @ ( option @ B ) @ ( fun_upd @ A @ ( option @ B ) @ F @ X6 @ ( none @ B ) ) @ X @ ( some @ B @ Y ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % restrictions_inwards
% 0.30/0.47  thf(fact_77_RID_092_060_094sub_062GI_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R2: B,V2: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) )] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ V2 ) )
% 0.30/0.47       => ( member @ B @ R2 @ ( rID_G @ B @ A @ C @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % RID\<^sub>GI(1)
% 0.30/0.47  thf(fact_78_revision__step__relaxed_Ofork,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,E5: expr @ r @ l @ v,R3: r] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 0.30/0.47       => ( ~ ( member @ r @ R3 @ ( rID_G @ r @ l @ v @ S ) )
% 0.30/0.47         => ( revisi1433015572elaxed @ r @ l @ v @ subst @ R2 @ S
% 0.30/0.47            @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) @ R3
% 0.30/0.47              @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 0.30/0.47                @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 0.30/0.47                  @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 0.30/0.47                    @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 0.30/0.47                    @ E5 ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % revision_step_relaxed.fork
% 0.30/0.47  thf(fact_79_revision__step_Ofork,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,E5: expr @ r @ l @ v,R3: r] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 0.30/0.47       => ( ~ ( member @ r @ R3 @ ( rID_G @ r @ l @ v @ S ) )
% 0.30/0.47         => ( revision_step @ r @ l @ v @ subst @ R2 @ S
% 0.30/0.47            @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) @ R3
% 0.30/0.47              @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 0.30/0.47                @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 0.30/0.47                  @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 0.30/0.47                    @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 0.30/0.47                    @ E5 ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % revision_step.fork
% 0.30/0.47  thf(fact_80__092_060alpha_062r_H__fresh,axiom,
% 0.30/0.47      ~ ( member @ r @ ( alpha @ r3 ) @ ( rID_G @ r @ l @ v @ ( r_G @ r @ l @ v @ alpha @ beta @ s ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % \<alpha>r'_fresh
% 0.30/0.47  thf(fact_81_substitution_Orevision__step__relaxed_Ofork,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,E5: expr @ R @ L @ V,R3: R] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 0.30/0.47         => ( ~ ( member @ R @ R3 @ ( rID_G @ R @ L @ V @ S ) )
% 0.30/0.47           => ( revisi1433015572elaxed @ R @ L @ V @ Subst @ R2 @ S
% 0.30/0.47              @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) @ R3
% 0.30/0.47                @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 0.30/0.47                  @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 0.30/0.47                    @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 0.30/0.47                      @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 0.30/0.47                      @ E5 ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.revision_step_relaxed.fork
% 0.30/0.47  thf(fact_82_substitution_Ofork__pseudodeterministic,axiom,
% 0.30/0.47      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,E5: expr @ R @ L @ V,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 0.30/0.47         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47            = ( ? [R4: R] :
% 0.30/0.47                  ( ~ ( member @ R @ R4 @ ( rID_G @ R @ L @ V @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) ) ) )
% 0.30/0.47                  & ( S2
% 0.30/0.47                    = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R4 ) ) ) ) ) ) ) @ R4
% 0.30/0.47                      @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 0.30/0.47                        @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 0.30/0.47                          @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 0.30/0.47                            @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 0.30/0.47                            @ E5 ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.fork_pseudodeterministic
% 0.30/0.47  thf(fact_83_local_Ostep,axiom,
% 0.30/0.47      revision_step @ r @ l @ v @ subst @ r2 @ s @ s2 ).
% 0.30/0.47  
% 0.30/0.47  % local.step
% 0.30/0.47  thf(fact_84_substitution__axioms,axiom,
% 0.30/0.47      substitution @ r @ l @ v @ subst ).
% 0.30/0.47  
% 0.30/0.47  % substitution_axioms
% 0.30/0.47  thf(fact_85_rename__empty_I2_J,axiom,
% 0.30/0.47      ! [A: $tType,D2: $tType,B: $tType,Alpha2: B > B,Beta2: A > A] :
% 0.30/0.47        ( ( r_G @ B @ A @ D2 @ Alpha2 @ Beta2
% 0.30/0.47          @ ^ [X2: B] : ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ D2 ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ D2 ) ) ) @ ( expr @ B @ A @ D2 ) ) ) ) )
% 0.30/0.47        = ( ^ [X2: B] : ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ D2 ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ D2 ) ) ) @ ( expr @ B @ A @ D2 ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % rename_empty(2)
% 0.30/0.47  thf(fact_86_in__restricted__global__in__unrestricted__global_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,R3: A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 0.30/0.47        ( ( member @ A @ R3 @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) )
% 0.30/0.47       => ( member @ A @ R3 @ ( rID_G @ A @ B @ C @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % in_restricted_global_in_unrestricted_global(1)
% 0.30/0.47  thf(fact_87_only__fork__introduces__rids_H,axiom,
% 0.30/0.47      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47       => ( ! [Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E6: cntxt @ r @ l @ v,E3: expr @ r @ l @ v] :
% 0.30/0.47              ( ( S @ R2 )
% 0.30/0.47             != ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ ( plug @ r @ l @ v @ E6 @ ( rfork @ r @ l @ v @ E3 ) ) ) ) ) )
% 0.30/0.47         => ( ~ ( member @ r @ R3 @ ( rID_G @ r @ l @ v @ S ) )
% 0.30/0.47           => ~ ( member @ r @ R3 @ ( rID_G @ r @ l @ v @ S2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % only_fork_introduces_rids'
% 0.30/0.47  thf(fact_88_in__restricted__global__in__updated__global_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,R3: A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 0.30/0.47        ( ( member @ A @ R3 @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) )
% 0.30/0.47       => ( member @ A @ R3 @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ Ls ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % in_restricted_global_in_updated_global(1)
% 0.30/0.47  thf(fact_89_fork__pseudodeterministic,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,E5: expr @ r @ l @ v,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 0.30/0.47       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47          = ( ? [R4: r] :
% 0.30/0.47                ( ~ ( member @ r @ R4 @ ( rID_G @ r @ l @ v @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) ) ) )
% 0.30/0.47                & ( S2
% 0.30/0.47                  = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R4 ) ) ) ) ) ) ) @ R4
% 0.30/0.47                    @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 0.30/0.47                      @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 0.30/0.47                        @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 0.30/0.47                          @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 0.30/0.47                          @ E5 ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % fork_pseudodeterministic
% 0.30/0.47  thf(fact_90_substitution_Orevision__step_Ocong,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType] :
% 0.30/0.47        ( ( revision_step @ R @ L @ V )
% 0.30/0.47        = ( revision_step @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.revision_step.cong
% 0.30/0.47  thf(fact_91_substitution_Orevision__step__relaxed_Ocong,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType] :
% 0.30/0.47        ( ( revisi1433015572elaxed @ R @ L @ V )
% 0.30/0.47        = ( revisi1433015572elaxed @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.revision_step_relaxed.cong
% 0.30/0.47  thf(fact_92_substitution_Oonly__fork__introduces__rids_H,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47         => ( ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E6: cntxt @ R @ L @ V,E3: expr @ R @ L @ V] :
% 0.30/0.47                ( ( S @ R2 )
% 0.30/0.47               != ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ ( plug @ R @ L @ V @ E6 @ ( rfork @ R @ L @ V @ E3 ) ) ) ) ) )
% 0.30/0.47           => ( ~ ( member @ R @ R3 @ ( rID_G @ R @ L @ V @ S ) )
% 0.30/0.47             => ~ ( member @ R @ R3 @ ( rID_G @ R @ L @ V @ S2 ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.only_fork_introduces_rids'
% 0.30/0.47  thf(fact_93_substitution_Orevision__step_Ofork,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,E5: expr @ R @ L @ V,R3: R] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 0.30/0.47         => ( ~ ( member @ R @ R3 @ ( rID_G @ R @ L @ V @ S ) )
% 0.30/0.47           => ( revision_step @ R @ L @ V @ Subst @ R2 @ S
% 0.30/0.47              @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) @ R3
% 0.30/0.47                @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 0.30/0.47                  @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 0.30/0.47                    @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 0.30/0.47                      @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 0.30/0.47                      @ E5 ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.revision_step.fork
% 0.30/0.47  thf(fact_94_local__and__fork__commute,axiom,
% 0.30/0.47      ! [S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,X: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ),S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R5: r,E5: expr @ r @ l @ v] :
% 0.30/0.47        ( ( S_2
% 0.30/0.47          = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) )
% 0.30/0.47       => ( ( S_22
% 0.30/0.47            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) @ R5
% 0.30/0.47              @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 0.30/0.47                @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 0.30/0.47                  @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 0.30/0.47                    @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 0.30/0.47                    @ E5 ) ) ) ) )
% 0.30/0.47         => ( ( ( S_2 @ R3 )
% 0.30/0.47              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 0.30/0.47           => ( ~ ( member @ r @ R5 @ ( rID_G @ r @ l @ v @ S_2 ) )
% 0.30/0.47             => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22
% 0.30/0.47                  @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )
% 0.30/0.47                    @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) @ R5
% 0.30/0.47                      @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 0.30/0.47                        @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 0.30/0.47                          @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 0.30/0.47                            @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 0.30/0.47                            @ E5 ) ) ) )
% 0.30/0.47                    @ R2
% 0.30/0.47                    @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) )
% 0.30/0.47               => ( ( R2 != R3 )
% 0.30/0.47                 => ( ( R2 != R5 )
% 0.30/0.47                   => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47                        ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 0.30/0.47                        & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                          | ( S_2 = S_3 ) )
% 0.30/0.47                        & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                          | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % local_and_fork_commute
% 0.30/0.47  thf(fact_95_revision__step__relaxed_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47       => ( ( ( S @ R3 )
% 0.30/0.47            = ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) )
% 0.30/0.47         => ( revisi1433015572elaxed @ r @ l @ v @ subst @ R2 @ S
% 0.30/0.47            @ ^ [X2: r] : ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % revision_step_relaxed.join\<^sub>\<epsilon>
% 0.30/0.47  thf(fact_96_revision__step_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47       => ( ( ( S @ R3 )
% 0.30/0.47            = ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) )
% 0.30/0.47         => ( revision_step @ r @ l @ v @ subst @ R2 @ S
% 0.30/0.47            @ ^ [X2: r] : ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % revision_step.join\<^sub>\<epsilon>
% 0.30/0.47  thf(fact_97_substitution_Olocal__and__fork__commute,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R5: R,E5: expr @ R @ L @ V] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( S_2
% 0.30/0.47            = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) )
% 0.30/0.47         => ( ( S_22
% 0.30/0.47              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) @ R5
% 0.30/0.47                @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 0.30/0.47                  @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 0.30/0.47                    @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 0.30/0.47                      @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 0.30/0.47                      @ E5 ) ) ) ) )
% 0.30/0.47           => ( ( ( S_2 @ R3 )
% 0.30/0.47                = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 0.30/0.47             => ( ~ ( member @ R @ R5 @ ( rID_G @ R @ L @ V @ S_2 ) )
% 0.30/0.47               => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22
% 0.30/0.47                    @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )
% 0.30/0.47                      @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) @ R5
% 0.30/0.47                        @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 0.30/0.47                          @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 0.30/0.47                            @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 0.30/0.47                              @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 0.30/0.47                              @ E5 ) ) ) )
% 0.30/0.47                      @ R2
% 0.30/0.47                      @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) )
% 0.30/0.47                 => ( ( R2 != R3 )
% 0.30/0.47                   => ( ( R2 != R5 )
% 0.30/0.47                     => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47                          ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 0.30/0.47                          & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                            | ( S_2 = S_3 ) )
% 0.30/0.47                          & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                            | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.local_and_fork_commute
% 0.30/0.47  thf(fact_98_local__steps__commute,axiom,
% 0.30/0.47      ! [S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,X: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ),S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,Y: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) )] :
% 0.30/0.47        ( ( S_2
% 0.30/0.47          = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) )
% 0.30/0.47       => ( ( S_22
% 0.30/0.47            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Y ) ) )
% 0.30/0.47         => ( ( revision_step @ r @ l @ v @ subst @ R3 @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Y ) ) )
% 0.30/0.47           => ( ( revision_step @ r @ l @ v @ subst @ R2 @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Y ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Y ) ) @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) )
% 0.30/0.47             => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47                  ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 0.30/0.47                  & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                    | ( S_2 = S_3 ) )
% 0.30/0.47                  & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                    | ( S_22 = S_32 ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % local_steps_commute
% 0.30/0.47  thf(fact_99_transition__relations__equivalent,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( reachable @ r @ l @ v @ subst @ S )
% 0.30/0.47       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47          = ( revisi1433015572elaxed @ r @ l @ v @ subst @ R2 @ S @ S2 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % transition_relations_equivalent
% 0.30/0.47  thf(fact_100_local__determinism,axiom,
% 0.30/0.47      ! [R2: r,S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_1 @ S_2 )
% 0.30/0.47       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_1 @ S_22 )
% 0.30/0.47         => ( eq_states @ r @ l @ v @ S_2 @ S_22 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % local_determinism
% 0.30/0.47  thf(fact_101_SLC__sym,axiom,
% 0.30/0.47      ! [R3: r,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ? [S_33: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_34: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47            ( ( eq_states @ r @ l @ v @ S_33 @ S_34 )
% 0.30/0.47            & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_33 )
% 0.30/0.47              | ( S_2 = S_33 ) )
% 0.30/0.47            & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_34 )
% 0.30/0.47              | ( S_22 = S_34 ) ) )
% 0.30/0.47       => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47            ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 0.30/0.47            & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_3 )
% 0.30/0.47              | ( S_22 = S_3 ) )
% 0.30/0.47            & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_32 )
% 0.30/0.47              | ( S_2 = S_32 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % SLC_sym
% 0.30/0.47  thf(fact_102_SLC__commute,axiom,
% 0.30/0.47      ! [S_35: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_36: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( S_35 = S_36 )
% 0.30/0.47       => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_35 )
% 0.30/0.47         => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_36 )
% 0.30/0.47           => ( ( eq_states @ r @ l @ v @ S_35 @ S_36 )
% 0.30/0.47              & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_35 )
% 0.30/0.47                | ( S_2 = S_35 ) )
% 0.30/0.47              & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_36 )
% 0.30/0.47                | ( S_22 = S_36 ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % SLC_commute
% 0.30/0.47  thf(fact_103_reachability__closed__under__execution__step,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( reachable @ r @ l @ v @ subst @ S )
% 0.30/0.47       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47         => ( reachable @ r @ l @ v @ subst @ S2 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % reachability_closed_under_execution_step
% 0.30/0.47  thf(fact_104_expr_Oinject_I8_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X8: expr @ R @ L @ V,Y8: expr @ R @ L @ V] :
% 0.30/0.47        ( ( ( rjoin @ R @ L @ V @ X8 )
% 0.30/0.47          = ( rjoin @ R @ L @ V @ Y8 ) )
% 0.30/0.47        = ( X8 = Y8 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.inject(8)
% 0.30/0.47  thf(fact_105_SLC__join_092_060_094sub_062_092_060epsilon_062,axiom,
% 0.30/0.47      ! [S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R5: r,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( ( S_1 @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) )
% 0.30/0.47       => ( ( S_2
% 0.30/0.47            = ( ^ [X2: r] : ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) )
% 0.30/0.47         => ( ( ( S_1 @ R5 )
% 0.30/0.47              = ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) )
% 0.30/0.47           => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47             => ( ( R2 != R3 )
% 0.30/0.47               => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47                    ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 0.30/0.47                    & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                      | ( S_2 = S_3 ) )
% 0.30/0.47                    & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % SLC_join\<^sub>\<epsilon>
% 0.30/0.47  thf(fact_106_reachable__def,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( reachable @ r @ l @ v @ subst @ S )
% 0.30/0.47        = ( ? [E7: expr @ r @ l @ v,S3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] : ( execution @ r @ l @ v @ subst @ E7 @ S3 @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % reachable_def
% 0.30/0.47  thf(fact_107_rjoin_092_060_094sub_062_092_060epsilon_062__deterministic,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47       => ( ( ( S @ R3 )
% 0.30/0.47            = ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) )
% 0.30/0.47         => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47            = ( S2
% 0.30/0.47              = ( ^ [X2: r] : ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % rjoin\<^sub>\<epsilon>_deterministic
% 0.30/0.47  thf(fact_108__092_060alpha_062_092_060beta_062__sym,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 0.30/0.47        ( ( eq_states @ A @ B @ C @ S @ S2 )
% 0.30/0.47       => ( eq_states @ A @ B @ C @ S2 @ S ) ) ).
% 0.30/0.47  
% 0.30/0.47  % \<alpha>\<beta>_sym
% 0.30/0.47  thf(fact_109__092_060alpha_062_092_060beta_062__refl,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] : ( eq_states @ A @ B @ C @ S @ S ) ).
% 0.30/0.47  
% 0.30/0.47  % \<alpha>\<beta>_refl
% 0.30/0.47  thf(fact_110__092_060alpha_062_092_060beta_062__trans,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S4: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 0.30/0.47        ( ( eq_states @ A @ B @ C @ S @ S2 )
% 0.30/0.47       => ( ( eq_states @ A @ B @ C @ S2 @ S4 )
% 0.30/0.47         => ( eq_states @ A @ B @ C @ S @ S4 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % \<alpha>\<beta>_trans
% 0.30/0.47  thf(fact_111_expr_Odistinct_I13_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X1: val @ R @ L @ V,X8: expr @ R @ L @ V] :
% 0.30/0.47        ( ( ve @ R @ L @ V @ X1 )
% 0.30/0.47       != ( rjoin @ R @ L @ V @ X8 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.distinct(13)
% 0.30/0.47  thf(fact_112_expr_Odistinct_I55_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X7: expr @ R @ L @ V,X8: expr @ R @ L @ V] :
% 0.30/0.47        ( ( rfork @ R @ L @ V @ X7 )
% 0.30/0.47       != ( rjoin @ R @ L @ V @ X8 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.distinct(55)
% 0.30/0.47  thf(fact_113_substitution_Olocal__determinism,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_1 @ S_2 )
% 0.30/0.47         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_1 @ S_22 )
% 0.30/0.47           => ( eq_states @ R @ L @ V @ S_2 @ S_22 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.local_determinism
% 0.30/0.47  thf(fact_114_substitution_OSLC__commute,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_35: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_36: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( S_35 = S_36 )
% 0.30/0.47         => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_35 )
% 0.30/0.47           => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_36 )
% 0.30/0.47             => ( ( eq_states @ R @ L @ V @ S_35 @ S_36 )
% 0.30/0.47                & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_35 )
% 0.30/0.47                  | ( S_2 = S_35 ) )
% 0.30/0.47                & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_36 )
% 0.30/0.47                  | ( S_22 = S_36 ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.SLC_commute
% 0.30/0.47  thf(fact_115_substitution_OSLC__sym,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R3: R,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ? [S_33: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_34: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47              ( ( eq_states @ R @ L @ V @ S_33 @ S_34 )
% 0.30/0.47              & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_33 )
% 0.30/0.47                | ( S_2 = S_33 ) )
% 0.30/0.47              & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_34 )
% 0.30/0.47                | ( S_22 = S_34 ) ) )
% 0.30/0.47         => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47              ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 0.30/0.47              & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_3 )
% 0.30/0.47                | ( S_22 = S_3 ) )
% 0.30/0.47              & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_32 )
% 0.30/0.47                | ( S_2 = S_32 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.SLC_sym
% 0.30/0.47  thf(fact_116_substitution_OSLC__join_092_060_094sub_062_092_060epsilon_062,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R5: R,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S_1 @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) )
% 0.30/0.47         => ( ( S_2
% 0.30/0.47              = ( ^ [X2: R] : ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) )
% 0.30/0.47           => ( ( ( S_1 @ R5 )
% 0.30/0.47                = ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) )
% 0.30/0.47             => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47               => ( ( R2 != R3 )
% 0.30/0.47                 => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47                      ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 0.30/0.47                      & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                        | ( S_2 = S_3 ) )
% 0.30/0.47                      & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                        | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.SLC_join\<^sub>\<epsilon>
% 0.30/0.47  thf(fact_117_substitution_Olocal__steps__commute,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,Y: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( S_2
% 0.30/0.47            = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) )
% 0.30/0.47         => ( ( S_22
% 0.30/0.47              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Y ) ) )
% 0.30/0.47           => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Y ) ) )
% 0.30/0.47             => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Y ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Y ) ) @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) )
% 0.30/0.47               => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47                    ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 0.30/0.47                    & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                      | ( S_2 = S_3 ) )
% 0.30/0.47                    & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.local_steps_commute
% 0.30/0.47  thf(fact_118_substitution_Orjoin_092_060_094sub_062_092_060epsilon_062__deterministic,axiom,
% 0.30/0.47      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47         => ( ( ( S @ R3 )
% 0.30/0.47              = ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) )
% 0.30/0.47           => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47              = ( S2
% 0.30/0.47                = ( ^ [X2: R] : ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.rjoin\<^sub>\<epsilon>_deterministic
% 0.30/0.47  thf(fact_119_substitution_Orevision__step_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
% 0.30/0.47      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47         => ( ( ( S @ R3 )
% 0.30/0.47              = ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) )
% 0.30/0.47           => ( revision_step @ R @ L @ V @ Subst @ R2 @ S
% 0.30/0.47              @ ^ [X2: R] : ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.revision_step.join\<^sub>\<epsilon>
% 0.30/0.47  thf(fact_120_substitution_Orevision__step__relaxed_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
% 0.30/0.47      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47         => ( ( ( S @ R3 )
% 0.30/0.47              = ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) )
% 0.30/0.47           => ( revisi1433015572elaxed @ R @ L @ V @ Subst @ R2 @ S
% 0.30/0.47              @ ^ [X2: R] : ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.revision_step_relaxed.join\<^sub>\<epsilon>
% 0.30/0.47  thf(fact_121_inductive__invariant__is__execution__invariant,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),P: ( r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) > $o] :
% 0.30/0.47        ( ( reachable @ r @ l @ v @ subst @ S )
% 0.30/0.47       => ( ( inductive_invariant @ r @ l @ v @ subst @ P )
% 0.30/0.47         => ( P @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % inductive_invariant_is_execution_invariant
% 0.30/0.47  thf(fact_122_reachable__imp___092_060S_062_092_060_094sub_062G,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( reachable @ r @ l @ v @ subst @ S )
% 0.30/0.47       => ( domain398919503obally @ r @ l @ v @ S ) ) ).
% 0.30/0.47  
% 0.30/0.47  % reachable_imp_\<S>\<^sub>G
% 0.30/0.47  thf(fact_123_substitution_Otransition__relations__equivalent,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 0.30/0.47         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47            = ( revisi1433015572elaxed @ R @ L @ V @ Subst @ R2 @ S @ S2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.transition_relations_equivalent
% 0.30/0.47  thf(fact_124_SLC__fork,axiom,
% 0.30/0.47      ! [S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,E5: expr @ r @ l @ v,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),Left_forkee: r,R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( ( S_1 @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 0.30/0.47       => ( ( S_2
% 0.30/0.47            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ Left_forkee ) ) ) ) ) ) ) @ Left_forkee
% 0.30/0.47              @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 0.30/0.47                @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 0.30/0.47                  @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 0.30/0.47                    @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 0.30/0.47                    @ E5 ) ) ) ) )
% 0.30/0.47         => ( ~ ( member @ r @ Left_forkee @ ( rID_G @ r @ l @ v @ S_1 ) )
% 0.30/0.47           => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47             => ( ( R2 != R3 )
% 0.30/0.47               => ( ( reachable @ r @ l @ v @ subst @ S_1 )
% 0.30/0.47                 => ( ~ ( finite_finite2 @ r @ ( top_top @ ( set @ r ) ) )
% 0.30/0.47                   => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47                        ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 0.30/0.47                        & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                          | ( S_2 = S_3 ) )
% 0.30/0.47                        & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                          | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % SLC_fork
% 0.30/0.47  thf(fact_125_join__and__local__commute,axiom,
% 0.30/0.47      ! [S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R5: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,Ls: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ),Sigma3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v] :
% 0.30/0.47        ( ( S_2
% 0.30/0.47          = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) )
% 0.30/0.47       => ( ( S_22
% 0.30/0.47            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Ls ) ) )
% 0.30/0.47         => ( ( R2 != R3 )
% 0.30/0.47           => ( ( R3 != R5 )
% 0.30/0.47             => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Ls ) ) )
% 0.30/0.47               => ( ( ( S_22 @ R2 )
% 0.30/0.47                    = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) )
% 0.30/0.47                 => ( ( ( S_22 @ R5 )
% 0.30/0.47                      = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 0.30/0.47                   => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47                        ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 0.30/0.47                        & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                          | ( S_2 = S_3 ) )
% 0.30/0.47                        & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                          | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % join_and_local_commute
% 0.30/0.47  thf(fact_126_empty__map__finite_I3_J,axiom,
% 0.30/0.47      ! [H: $tType,I: $tType,G2: $tType] :
% 0.30/0.47        ( finite_finite2 @ G2
% 0.30/0.47        @ ( rID_G @ G2 @ H @ I
% 0.30/0.47          @ ^ [X2: G2] : ( none @ ( product_prod @ ( H > ( option @ ( val @ G2 @ H @ I ) ) ) @ ( product_prod @ ( H > ( option @ ( val @ G2 @ H @ I ) ) ) @ ( expr @ G2 @ H @ I ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % empty_map_finite(3)
% 0.30/0.47  thf(fact_127_val_Oinject_I1_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X1: const,Y1: const] :
% 0.30/0.47        ( ( ( cv @ R @ L @ V @ X1 )
% 0.30/0.47          = ( cv @ R @ L @ V @ Y1 ) )
% 0.30/0.47        = ( X1 = Y1 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % val.inject(1)
% 0.30/0.47  thf(fact_128_RID_092_060_094sub_062G__finite__invariant,axiom,
% 0.30/0.47      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47       => ( ( finite_finite2 @ r @ ( rID_G @ r @ l @ v @ S ) )
% 0.30/0.47         => ( finite_finite2 @ r @ ( rID_G @ r @ l @ v @ S2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % RID\<^sub>G_finite_invariant
% 0.30/0.47  thf(fact_129_reachable__imp__identifiers__finite_I1_J,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( reachable @ r @ l @ v @ subst @ S )
% 0.30/0.47       => ( finite_finite2 @ r @ ( rID_G @ r @ l @ v @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % reachable_imp_identifiers_finite(1)
% 0.30/0.47  thf(fact_130_reachable__imp__identifiers__available_I1_J,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( reachable @ r @ l @ v @ subst @ S )
% 0.30/0.47       => ( ~ ( finite_finite2 @ r @ ( top_top @ ( set @ r ) ) )
% 0.30/0.47         => ? [R6: r] :
% 0.30/0.47              ~ ( member @ r @ R6 @ ( rID_G @ r @ l @ v @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % reachable_imp_identifiers_available(1)
% 0.30/0.47  thf(fact_131_finite__option__UNIV,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( finite_finite2 @ ( option @ A ) @ ( top_top @ ( set @ ( option @ A ) ) ) )
% 0.30/0.47        = ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_option_UNIV
% 0.30/0.47  thf(fact_132_domains__subsume__globally__def,axiom,
% 0.30/0.47      ( ( domain398919503obally @ r @ l @ v )
% 0.30/0.47      = ( ^ [S5: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47          ! [R7: r,Ls2: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) )] :
% 0.30/0.47            ( ( ( S5 @ R7 )
% 0.30/0.47              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Ls2 ) )
% 0.30/0.47           => ( domains_subsume @ l @ r @ v @ Ls2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % domains_subsume_globally_def
% 0.30/0.47  thf(fact_133_finite__state__imp__restriction__finite_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 0.30/0.47        ( ( finite_finite2 @ A @ ( rID_G @ A @ B @ C @ S ) )
% 0.30/0.47       => ( finite_finite2 @ A @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_state_imp_restriction_finite(1)
% 0.30/0.47  thf(fact_134_revision__step_Ojoin,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r,Sigma3: l > ( option @ ( val @ r @ l @ v ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47       => ( ( ( S @ R3 )
% 0.30/0.47            = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 0.30/0.47         => ( revision_step @ r @ l @ v @ subst @ R2 @ S @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % revision_step.join
% 0.30/0.47  thf(fact_135_revision__step__relaxed_Ojoin,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r,Sigma3: l > ( option @ ( val @ r @ l @ v ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47       => ( ( ( S @ R3 )
% 0.30/0.47            = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 0.30/0.47         => ( revisi1433015572elaxed @ r @ l @ v @ subst @ R2 @ S @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % revision_step_relaxed.join
% 0.30/0.47  thf(fact_136_SLC__join,axiom,
% 0.30/0.47      ! [S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R5: r,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),Sigma3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v,R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( ( S_1 @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) )
% 0.30/0.47       => ( ( S_2
% 0.30/0.47            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) )
% 0.30/0.47         => ( ( ( S_1 @ R5 )
% 0.30/0.47              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 0.30/0.47           => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47             => ( ( R2 != R3 )
% 0.30/0.47               => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47                    ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 0.30/0.47                    & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                      | ( S_2 = S_3 ) )
% 0.30/0.47                    & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % SLC_join
% 0.30/0.47  thf(fact_137_bij___092_060alpha_062,axiom,
% 0.30/0.47      bij_betw @ r @ r @ alpha @ ( top_top @ ( set @ r ) ) @ ( top_top @ ( set @ r ) ) ).
% 0.30/0.47  
% 0.30/0.47  % bij_\<alpha>
% 0.30/0.47  thf(fact_138_rjoin__deterministic,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r,Sigma3: l > ( option @ ( val @ r @ l @ v ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47       => ( ( ( S @ R3 )
% 0.30/0.47            = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 0.30/0.47         => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47            = ( S2
% 0.30/0.47              = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % rjoin_deterministic
% 0.30/0.47  thf(fact_139_substitution_Oexecution_Ocong,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType] :
% 0.30/0.47        ( ( execution @ R @ L @ V )
% 0.30/0.47        = ( execution @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.execution.cong
% 0.30/0.47  thf(fact_140_substitution_Oinductive__invariant_Ocong,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType] :
% 0.30/0.47        ( ( inductive_invariant @ R @ L @ V )
% 0.30/0.47        = ( inductive_invariant @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.inductive_invariant.cong
% 0.30/0.47  thf(fact_141_val_Odistinct_I5_J,axiom,
% 0.30/0.47      ! [L: $tType,V: $tType,R: $tType,X1: const,X4: R] :
% 0.30/0.47        ( ( cv @ R @ L @ V @ X1 )
% 0.30/0.47       != ( rid @ R @ L @ V @ X4 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % val.distinct(5)
% 0.30/0.47  thf(fact_142_substitution_Oreachable__imp__identifiers__available_I1_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 0.30/0.47         => ( ~ ( finite_finite2 @ R @ ( top_top @ ( set @ R ) ) )
% 0.30/0.47           => ? [R6: R] :
% 0.30/0.47                ~ ( member @ R @ R6 @ ( rID_G @ R @ L @ V @ S ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.reachable_imp_identifiers_available(1)
% 0.30/0.47  thf(fact_143_substitution_Ostrong__local__confluence,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_1 @ S_2 )
% 0.30/0.47         => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47           => ( ( reachable @ R @ L @ V @ Subst @ S_1 )
% 0.30/0.47             => ( ~ ( finite_finite2 @ L @ ( top_top @ ( set @ L ) ) )
% 0.30/0.47               => ( ~ ( finite_finite2 @ R @ ( top_top @ ( set @ R ) ) )
% 0.30/0.47                 => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47                      ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 0.30/0.47                      & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                        | ( S_2 = S_3 ) )
% 0.30/0.47                      & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                        | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.strong_local_confluence
% 0.30/0.47  thf(fact_144_substitution_ORID_092_060_094sub_062G__finite__invariant,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47         => ( ( finite_finite2 @ R @ ( rID_G @ R @ L @ V @ S ) )
% 0.30/0.47           => ( finite_finite2 @ R @ ( rID_G @ R @ L @ V @ S2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.RID\<^sub>G_finite_invariant
% 0.30/0.47  thf(fact_145_substitution_Oreachable__imp__identifiers__finite_I1_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 0.30/0.47         => ( finite_finite2 @ R @ ( rID_G @ R @ L @ V @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.reachable_imp_identifiers_finite(1)
% 0.30/0.47  thf(fact_146_substitution_Oreachable__imp___092_060S_062_092_060_094sub_062G,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 0.30/0.47         => ( domain398919503obally @ R @ L @ V @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.reachable_imp_\<S>\<^sub>G
% 0.30/0.47  thf(fact_147_substitution_Oinductive__invariant__is__execution__invariant,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),P: ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 0.30/0.47         => ( ( inductive_invariant @ R @ L @ V @ Subst @ P )
% 0.30/0.47           => ( P @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.inductive_invariant_is_execution_invariant
% 0.30/0.47  thf(fact_148_substitution_Oempty__map__finite_I3_J,axiom,
% 0.30/0.47      ! [R: $tType,L: $tType,V: $tType,H: $tType,I: $tType,G2: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( finite_finite2 @ G2
% 0.30/0.47          @ ( rID_G @ G2 @ H @ I
% 0.30/0.47            @ ^ [X2: G2] : ( none @ ( product_prod @ ( H > ( option @ ( val @ G2 @ H @ I ) ) ) @ ( product_prod @ ( H > ( option @ ( val @ G2 @ H @ I ) ) ) @ ( expr @ G2 @ H @ I ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.empty_map_finite(3)
% 0.30/0.47  thf(fact_149_substitution_Oreachable__def,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 0.30/0.47          = ( ? [E7: expr @ R @ L @ V,S3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] : ( execution @ R @ L @ V @ Subst @ E7 @ S3 @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.reachable_def
% 0.30/0.47  thf(fact_150_substitution_Ofinite__state__imp__restriction__finite_I1_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,C: $tType,A: $tType,B: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( finite_finite2 @ A @ ( rID_G @ A @ B @ C @ S ) )
% 0.30/0.47         => ( finite_finite2 @ A @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.finite_state_imp_restriction_finite(1)
% 0.30/0.47  thf(fact_151_substitution_Oreachable_Ocong,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType] :
% 0.30/0.47        ( ( reachable @ R @ L @ V )
% 0.30/0.47        = ( reachable @ R @ L @ V ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.reachable.cong
% 0.30/0.47  thf(fact_152_substitution_Orevision__step_Ojoin,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R,Sigma3: L > ( option @ ( val @ R @ L @ V ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47         => ( ( ( S @ R3 )
% 0.30/0.47              = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 0.30/0.47           => ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.revision_step.join
% 0.30/0.47  thf(fact_153_substitution_Orjoin__deterministic,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R,Sigma3: L > ( option @ ( val @ R @ L @ V ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47         => ( ( ( S @ R3 )
% 0.30/0.47              = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 0.30/0.47           => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47              = ( S2
% 0.30/0.47                = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.rjoin_deterministic
% 0.30/0.47  thf(fact_154_substitution_Orevision__step__relaxed_Ojoin,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R,Sigma3: L > ( option @ ( val @ R @ L @ V ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 0.30/0.47         => ( ( ( S @ R3 )
% 0.30/0.47              = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 0.30/0.47           => ( revisi1433015572elaxed @ R @ L @ V @ Subst @ R2 @ S @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.revision_step_relaxed.join
% 0.30/0.47  thf(fact_155_substitution_Ojoin__and__local__commute,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R5: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,Ls: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),Sigma3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( S_2
% 0.30/0.47            = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) )
% 0.30/0.47         => ( ( S_22
% 0.30/0.47              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Ls ) ) )
% 0.30/0.47           => ( ( R2 != R3 )
% 0.30/0.47             => ( ( R3 != R5 )
% 0.30/0.47               => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Ls ) ) )
% 0.30/0.47                 => ( ( ( S_22 @ R2 )
% 0.30/0.47                      = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) )
% 0.30/0.47                   => ( ( ( S_22 @ R5 )
% 0.30/0.47                        = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 0.30/0.47                     => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47                          ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 0.30/0.47                          & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                            | ( S_2 = S_3 ) )
% 0.30/0.47                          & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                            | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.join_and_local_commute
% 0.30/0.47  thf(fact_156_substitution_OSLC__join,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R5: R,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),Sigma3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V,R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S_1 @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) )
% 0.30/0.47         => ( ( S_2
% 0.30/0.47              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) )
% 0.30/0.47           => ( ( ( S_1 @ R5 )
% 0.30/0.47                = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 0.30/0.47             => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47               => ( ( R2 != R3 )
% 0.30/0.47                 => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47                      ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 0.30/0.47                      & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                        | ( S_2 = S_3 ) )
% 0.30/0.47                      & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                        | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.SLC_join
% 0.30/0.47  thf(fact_157_substitution_OSLC__fork,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,E5: expr @ R @ L @ V,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),Left_forkee: R,R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S_1 @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 0.30/0.47         => ( ( S_2
% 0.30/0.47              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ Left_forkee ) ) ) ) ) ) ) @ Left_forkee
% 0.30/0.47                @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 0.30/0.47                  @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 0.30/0.47                    @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 0.30/0.47                      @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 0.30/0.47                      @ E5 ) ) ) ) )
% 0.30/0.47           => ( ~ ( member @ R @ Left_forkee @ ( rID_G @ R @ L @ V @ S_1 ) )
% 0.30/0.47             => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47               => ( ( R2 != R3 )
% 0.30/0.47                 => ( ( reachable @ R @ L @ V @ Subst @ S_1 )
% 0.30/0.47                   => ( ~ ( finite_finite2 @ R @ ( top_top @ ( set @ R ) ) )
% 0.30/0.47                     => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47                          ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 0.30/0.47                          & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                            | ( S_2 = S_3 ) )
% 0.30/0.47                          & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                            | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.SLC_fork
% 0.30/0.47  thf(fact_158_substitution_Oreachability__closed__under__execution__step,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 0.30/0.47         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47           => ( reachable @ R @ L @ V @ Subst @ S2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.reachability_closed_under_execution_step
% 0.30/0.47  thf(fact_159_nice__ind__inv__is__inductive__invariant,axiom,
% 0.30/0.47      ( inductive_invariant @ r @ l @ v @ subst
% 0.30/0.47      @ ^ [S5: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47          ( ( domain398919503obally @ r @ l @ v @ S5 )
% 0.30/0.47          & ( subsum380726323obally @ r @ l @ v @ S5 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % nice_ind_inv_is_inductive_invariant
% 0.30/0.47  thf(fact_160_step__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I2_J,axiom,
% 0.30/0.47      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47       => ( ( domain398919503obally @ r @ l @ v @ S )
% 0.30/0.47         => ( ( subsum380726323obally @ r @ l @ v @ S )
% 0.30/0.47           => ( subsum380726323obally @ r @ l @ v @ S2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % step_preserves_\<S>\<^sub>G_and_\<A>\<^sub>G(2)
% 0.30/0.47  thf(fact_161_step__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I1_J,axiom,
% 0.30/0.47      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47       => ( ( domain398919503obally @ r @ l @ v @ S )
% 0.30/0.47         => ( ( subsum380726323obally @ r @ l @ v @ S )
% 0.30/0.47           => ( domain398919503obally @ r @ l @ v @ S2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % step_preserves_\<S>\<^sub>G_and_\<A>\<^sub>G(1)
% 0.30/0.47  thf(fact_162_finite__Collect__not,axiom,
% 0.30/0.47      ! [A: $tType,P: A > $o] :
% 0.30/0.47        ( ( finite_finite2 @ A @ ( collect @ A @ P ) )
% 0.30/0.47       => ( ( finite_finite2 @ A
% 0.30/0.47            @ ( collect @ A
% 0.30/0.47              @ ^ [X2: A] :
% 0.30/0.47                  ~ ( P @ X2 ) ) )
% 0.30/0.47          = ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_Collect_not
% 0.30/0.47  thf(fact_163_in__renamed__in__unlabelled__global_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,Beta2: B > B,R2: A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 0.30/0.47        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47         => ( ( member @ A @ ( Alpha2 @ R2 ) @ ( rID_G @ A @ B @ C @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) )
% 0.30/0.47            = ( member @ A @ R2 @ ( rID_G @ A @ B @ C @ S ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % in_renamed_in_unlabelled_global(1)
% 0.30/0.47  thf(fact_164_finite__code,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( finite_finite @ A )
% 0.30/0.47       => ( ( finite_finite2 @ A )
% 0.30/0.47          = ( ^ [A7: set @ A] : $true ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_code
% 0.30/0.47  thf(fact_165_finite__Collect__conjI,axiom,
% 0.30/0.47      ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.30/0.47        ( ( ( finite_finite2 @ A @ ( collect @ A @ P ) )
% 0.30/0.47          | ( finite_finite2 @ A @ ( collect @ A @ Q ) ) )
% 0.30/0.47       => ( finite_finite2 @ A
% 0.30/0.47          @ ( collect @ A
% 0.30/0.47            @ ^ [X2: A] :
% 0.30/0.47                ( ( P @ X2 )
% 0.30/0.47                & ( Q @ X2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_Collect_conjI
% 0.30/0.47  thf(fact_166_finite__Collect__disjI,axiom,
% 0.30/0.47      ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.30/0.47        ( ( finite_finite2 @ A
% 0.30/0.47          @ ( collect @ A
% 0.30/0.47            @ ^ [X2: A] :
% 0.30/0.47                ( ( P @ X2 )
% 0.30/0.47                | ( Q @ X2 ) ) ) )
% 0.30/0.47        = ( ( finite_finite2 @ A @ ( collect @ A @ P ) )
% 0.30/0.47          & ( finite_finite2 @ A @ ( collect @ A @ Q ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_Collect_disjI
% 0.30/0.47  thf(fact_167_strong__local__confluence,axiom,
% 0.30/0.47      ! [R2: r,S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_1 @ S_2 )
% 0.30/0.47       => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47         => ( ( reachable @ r @ l @ v @ subst @ S_1 )
% 0.30/0.47           => ( ~ ( finite_finite2 @ l @ ( top_top @ ( set @ l ) ) )
% 0.30/0.47             => ( ~ ( finite_finite2 @ r @ ( top_top @ ( set @ r ) ) )
% 0.30/0.47               => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47                    ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 0.30/0.47                    & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                      | ( S_2 = S_3 ) )
% 0.30/0.47                    & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % strong_local_confluence
% 0.30/0.47  thf(fact_168_finite__Plus__UNIV__iff,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType] :
% 0.30/0.47        ( ( finite_finite2 @ ( sum_sum @ A @ B ) @ ( top_top @ ( set @ ( sum_sum @ A @ B ) ) ) )
% 0.30/0.47        = ( ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47          & ( finite_finite2 @ B @ ( top_top @ ( set @ B ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_Plus_UNIV_iff
% 0.30/0.47  thf(fact_169_eq__statesI,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,Beta2: B > B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 0.30/0.47        ( ( ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S )
% 0.30/0.47          = S2 )
% 0.30/0.47       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47           => ( eq_states @ A @ B @ C @ S @ S2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % eq_statesI
% 0.30/0.47  thf(fact_170_renaming__distr__global_I2_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,Alpha2: A > A,Beta2: B > B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 0.30/0.47        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) )
% 0.30/0.47          = ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) @ ( Alpha2 @ R2 ) @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % renaming_distr_global(2)
% 0.30/0.47  thf(fact_171_domains__subsume__globallyI,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ! [R6: r,Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E3: expr @ r @ l @ v] :
% 0.30/0.47            ( ( ( S @ R6 )
% 0.30/0.47              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ E3 ) ) ) )
% 0.30/0.47           => ( domains_subsume @ l @ r @ v @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ E3 ) ) ) )
% 0.30/0.47       => ( domain398919503obally @ r @ l @ v @ S ) ) ).
% 0.30/0.47  
% 0.30/0.47  % domains_subsume_globallyI
% 0.30/0.47  thf(fact_172_bij___092_060beta_062,axiom,
% 0.30/0.47      bij_betw @ l @ l @ beta @ ( top_top @ ( set @ l ) ) @ ( top_top @ ( set @ l ) ) ).
% 0.30/0.47  
% 0.30/0.47  % bij_\<beta>
% 0.30/0.47  thf(fact_173_bij__betw__finite,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,F: A > B,A6: set @ A,B6: set @ B] :
% 0.30/0.47        ( ( bij_betw @ A @ B @ F @ A6 @ B6 )
% 0.30/0.47       => ( ( finite_finite2 @ A @ A6 )
% 0.30/0.47          = ( finite_finite2 @ B @ B6 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % bij_betw_finite
% 0.30/0.47  thf(fact_174_bij__pointE,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,F: A > B,Y: B] :
% 0.30/0.47        ( ( bij_betw @ A @ B @ F @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47       => ~ ! [X3: A] :
% 0.30/0.47              ( ( Y
% 0.30/0.47                = ( F @ X3 ) )
% 0.30/0.47             => ~ ! [X9: A] :
% 0.30/0.47                    ( ( Y
% 0.30/0.47                      = ( F @ X9 ) )
% 0.30/0.47                   => ( X9 = X3 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % bij_pointE
% 0.30/0.47  thf(fact_175_bij__betwE,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,F: A > B,A6: set @ A,B6: set @ B] :
% 0.30/0.47        ( ( bij_betw @ A @ B @ F @ A6 @ B6 )
% 0.30/0.47       => ! [X10: A] :
% 0.30/0.47            ( ( member @ A @ X10 @ A6 )
% 0.30/0.47           => ( member @ B @ ( F @ X10 ) @ B6 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % bij_betwE
% 0.30/0.47  thf(fact_176_bij__betw__inv,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,F: A > B,A6: set @ A,B6: set @ B] :
% 0.30/0.47        ( ( bij_betw @ A @ B @ F @ A6 @ B6 )
% 0.30/0.47       => ? [G3: B > A] : ( bij_betw @ B @ A @ G3 @ B6 @ A6 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % bij_betw_inv
% 0.30/0.47  thf(fact_177_bij__betw__cong,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,A6: set @ A,F: A > B,G: A > B,A8: set @ B] :
% 0.30/0.47        ( ! [A4: A] :
% 0.30/0.47            ( ( member @ A @ A4 @ A6 )
% 0.30/0.47           => ( ( F @ A4 )
% 0.30/0.47              = ( G @ A4 ) ) )
% 0.30/0.47       => ( ( bij_betw @ A @ B @ F @ A6 @ A8 )
% 0.30/0.47          = ( bij_betw @ A @ B @ G @ A6 @ A8 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % bij_betw_cong
% 0.30/0.47  thf(fact_178_bij__betw__apply,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType,F: A > B,A6: set @ A,B6: set @ B,A2: A] :
% 0.30/0.47        ( ( bij_betw @ A @ B @ F @ A6 @ B6 )
% 0.30/0.47       => ( ( member @ A @ A2 @ A6 )
% 0.30/0.47         => ( member @ B @ ( F @ A2 ) @ B6 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % bij_betw_apply
% 0.30/0.47  thf(fact_179_bij__betw__iff__bijections,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType] :
% 0.30/0.47        ( ( bij_betw @ A @ B )
% 0.30/0.47        = ( ^ [F2: A > B,A7: set @ A,B7: set @ B] :
% 0.30/0.47            ? [G4: B > A] :
% 0.30/0.47              ( ! [X2: A] :
% 0.30/0.47                  ( ( member @ A @ X2 @ A7 )
% 0.30/0.47                 => ( ( member @ B @ ( F2 @ X2 ) @ B7 )
% 0.30/0.47                    & ( ( G4 @ ( F2 @ X2 ) )
% 0.30/0.47                      = X2 ) ) )
% 0.30/0.47              & ! [X2: B] :
% 0.30/0.47                  ( ( member @ B @ X2 @ B7 )
% 0.30/0.47                 => ( ( member @ A @ ( G4 @ X2 ) @ A7 )
% 0.30/0.47                    & ( ( F2 @ ( G4 @ X2 ) )
% 0.30/0.47                      = X2 ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % bij_betw_iff_bijections
% 0.30/0.47  thf(fact_180_eq__statesE,axiom,
% 0.30/0.47      ! [A: $tType,C: $tType,B: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 0.30/0.47        ( ( eq_states @ A @ B @ C @ S @ S2 )
% 0.30/0.47       => ~ ! [Alpha: A > A,Beta: B > B] :
% 0.30/0.47              ( ( ( r_G @ A @ B @ C @ Alpha @ Beta @ S )
% 0.30/0.47                = S2 )
% 0.30/0.47             => ( ( bij_betw @ A @ A @ Alpha @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47               => ~ ( bij_betw @ B @ B @ Beta @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % eq_statesE
% 0.30/0.47  thf(fact_181_eq__states__def,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType] :
% 0.30/0.47        ( ( eq_states @ R @ L @ V )
% 0.30/0.47        = ( ^ [S5: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47            ? [Alpha3: R > R,Beta3: L > L] :
% 0.30/0.47              ( ( bij_betw @ R @ R @ Alpha3 @ ( top_top @ ( set @ R ) ) @ ( top_top @ ( set @ R ) ) )
% 0.30/0.47              & ( bij_betw @ L @ L @ Beta3 @ ( top_top @ ( set @ L ) ) @ ( top_top @ ( set @ L ) ) )
% 0.30/0.47              & ( ( r_G @ R @ L @ V @ Alpha3 @ Beta3 @ S5 )
% 0.30/0.47                = S3 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % eq_states_def
% 0.30/0.47  thf(fact_182_finite,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( finite_finite @ A )
% 0.30/0.47       => ! [A6: set @ A] : ( finite_finite2 @ A @ A6 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite
% 0.30/0.47  thf(fact_183_finite__set__choice,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,A6: set @ A,P: A > B > $o] :
% 0.30/0.47        ( ( finite_finite2 @ A @ A6 )
% 0.30/0.47       => ( ! [X3: A] :
% 0.30/0.47              ( ( member @ A @ X3 @ A6 )
% 0.30/0.47             => ? [X_1: B] : ( P @ X3 @ X_1 ) )
% 0.30/0.47         => ? [F4: A > B] :
% 0.30/0.47            ! [X10: A] :
% 0.30/0.47              ( ( member @ A @ X10 @ A6 )
% 0.30/0.47             => ( P @ X10 @ ( F4 @ X10 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_set_choice
% 0.30/0.47  thf(fact_184_substitution_Oin__renamed__in__unlabelled__global_I1_J,axiom,
% 0.30/0.47      ! [R: $tType,L: $tType,V: $tType,C: $tType,B: $tType,A: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),Alpha2: A > A,Beta2: B > B,R2: A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47           => ( ( member @ A @ ( Alpha2 @ R2 ) @ ( rID_G @ A @ B @ C @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) )
% 0.30/0.47              = ( member @ A @ R2 @ ( rID_G @ A @ B @ C @ S ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.in_renamed_in_unlabelled_global(1)
% 0.30/0.47  thf(fact_185_not__finite__existsD,axiom,
% 0.30/0.47      ! [A: $tType,P: A > $o] :
% 0.30/0.47        ( ~ ( finite_finite2 @ A @ ( collect @ A @ P ) )
% 0.30/0.47       => ? [X_12: A] : ( P @ X_12 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % not_finite_existsD
% 0.30/0.47  thf(fact_186_pigeonhole__infinite__rel,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ B,R8: A > B > $o] :
% 0.30/0.47        ( ~ ( finite_finite2 @ A @ A6 )
% 0.30/0.47       => ( ( finite_finite2 @ B @ B6 )
% 0.30/0.47         => ( ! [X3: A] :
% 0.30/0.47                ( ( member @ A @ X3 @ A6 )
% 0.30/0.47               => ? [Xa2: B] :
% 0.30/0.47                    ( ( member @ B @ Xa2 @ B6 )
% 0.30/0.47                    & ( R8 @ X3 @ Xa2 ) ) )
% 0.30/0.47           => ? [X3: B] :
% 0.30/0.47                ( ( member @ B @ X3 @ B6 )
% 0.30/0.47                & ~ ( finite_finite2 @ A
% 0.30/0.47                    @ ( collect @ A
% 0.30/0.47                      @ ^ [A5: A] :
% 0.30/0.47                          ( ( member @ A @ A5 @ A6 )
% 0.30/0.47                          & ( R8 @ A5 @ X3 ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % pigeonhole_infinite_rel
% 0.30/0.47  thf(fact_187_finite__UNIV,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( finite_finite @ A )
% 0.30/0.47       => ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_UNIV
% 0.30/0.47  thf(fact_188_infinite__UNIV__char__0,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( semiring_char_0 @ A )
% 0.30/0.47       => ~ ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % infinite_UNIV_char_0
% 0.30/0.47  thf(fact_189_finite__fun__UNIVD2,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType] :
% 0.30/0.47        ( ( finite_finite2 @ ( A > B ) @ ( top_top @ ( set @ ( A > B ) ) ) )
% 0.30/0.47       => ( finite_finite2 @ B @ ( top_top @ ( set @ B ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_fun_UNIVD2
% 0.30/0.47  thf(fact_190_finite__Prod__UNIV,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType] :
% 0.30/0.47        ( ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( ( finite_finite2 @ B @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47         => ( finite_finite2 @ ( product_prod @ A @ B ) @ ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_Prod_UNIV
% 0.30/0.47  thf(fact_191_ex__new__if__finite,axiom,
% 0.30/0.47      ! [A: $tType,A6: set @ A] :
% 0.30/0.47        ( ~ ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( ( finite_finite2 @ A @ A6 )
% 0.30/0.47         => ? [A4: A] :
% 0.30/0.47              ~ ( member @ A @ A4 @ A6 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % ex_new_if_finite
% 0.30/0.47  thf(fact_192_finite__prod,axiom,
% 0.30/0.47      ! [A: $tType,B: $tType] :
% 0.30/0.47        ( ( finite_finite2 @ ( product_prod @ A @ B ) @ ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) )
% 0.30/0.47        = ( ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47          & ( finite_finite2 @ B @ ( top_top @ ( set @ B ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_prod
% 0.30/0.47  thf(fact_193_Finite__Set_Ofinite__set,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( finite_finite2 @ ( set @ A ) @ ( top_top @ ( set @ ( set @ A ) ) ) )
% 0.30/0.47        = ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % Finite_Set.finite_set
% 0.30/0.47  thf(fact_194_substitution_Ostep__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I1_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47         => ( ( domain398919503obally @ R @ L @ V @ S )
% 0.30/0.47           => ( ( subsum380726323obally @ R @ L @ V @ S )
% 0.30/0.47             => ( domain398919503obally @ R @ L @ V @ S2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.step_preserves_\<S>\<^sub>G_and_\<A>\<^sub>G(1)
% 0.30/0.47  thf(fact_195_substitution_Ostep__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I2_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47         => ( ( domain398919503obally @ R @ L @ V @ S )
% 0.30/0.47           => ( ( subsum380726323obally @ R @ L @ V @ S )
% 0.30/0.47             => ( subsum380726323obally @ R @ L @ V @ S2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.step_preserves_\<S>\<^sub>G_and_\<A>\<^sub>G(2)
% 0.30/0.47  thf(fact_196_finite__update__induct,axiom,
% 0.30/0.47      ! [B: $tType,A: $tType,F: A > B,C2: B,P: ( A > B ) > $o] :
% 0.30/0.47        ( ( finite_finite2 @ A
% 0.30/0.47          @ ( collect @ A
% 0.30/0.47            @ ^ [A5: A] :
% 0.30/0.47                ( ( F @ A5 )
% 0.30/0.47               != C2 ) ) )
% 0.30/0.47       => ( ( P
% 0.30/0.47            @ ^ [A5: A] : C2 )
% 0.30/0.47         => ( ! [A4: A,B4: B,F4: A > B] :
% 0.30/0.47                ( ( finite_finite2 @ A
% 0.30/0.47                  @ ( collect @ A
% 0.30/0.47                    @ ^ [C4: A] :
% 0.30/0.47                        ( ( F4 @ C4 )
% 0.30/0.47                       != C2 ) ) )
% 0.30/0.47               => ( ( ( F4 @ A4 )
% 0.30/0.47                    = C2 )
% 0.30/0.47                 => ( ( B4 != C2 )
% 0.30/0.47                   => ( ( P @ F4 )
% 0.30/0.47                     => ( P @ ( fun_upd @ A @ B @ F4 @ A4 @ B4 ) ) ) ) ) )
% 0.30/0.47           => ( P @ F ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_update_induct
% 0.30/0.47  thf(fact_197_substitution_Onice__ind__inv__is__inductive__invariant,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( inductive_invariant @ R @ L @ V @ Subst
% 0.30/0.47          @ ^ [S5: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47              ( ( domain398919503obally @ R @ L @ V @ S5 )
% 0.30/0.47              & ( subsum380726323obally @ R @ L @ V @ S5 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.nice_ind_inv_is_inductive_invariant
% 0.30/0.47  thf(fact_198_substitution_Odomains__subsume__globally__def,axiom,
% 0.30/0.47      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( domain398919503obally @ R @ L @ V @ S )
% 0.30/0.47          = ( ! [R7: R,Ls2: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 0.30/0.47                ( ( ( S @ R7 )
% 0.30/0.47                  = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Ls2 ) )
% 0.30/0.47               => ( domains_subsume @ L @ R @ V @ Ls2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.domains_subsume_globally_def
% 0.30/0.47  thf(fact_199_substitution_Odomains__subsume__globallyI,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ! [R6: R,Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 0.30/0.47              ( ( ( S @ R6 )
% 0.30/0.47                = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) ) )
% 0.30/0.47             => ( domains_subsume @ L @ R @ V @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) ) )
% 0.30/0.47         => ( domain398919503obally @ R @ L @ V @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.domains_subsume_globallyI
% 0.30/0.47  thf(fact_200__092_060R_062_092_060_094sub_062GI,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),Beta2: B > B] :
% 0.30/0.47        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( ! [R6: A] :
% 0.30/0.47              ( ( ( S @ R6 )
% 0.30/0.47                = ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) )
% 0.30/0.47             => ( ( S2 @ ( Alpha2 @ R6 ) )
% 0.30/0.47                = ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) )
% 0.30/0.47         => ( ! [R6: A,Sigma: B > ( option @ ( val @ A @ B @ C ) ),Tau: B > ( option @ ( val @ A @ B @ C ) ),E3: expr @ A @ B @ C] :
% 0.30/0.47                ( ( ( S @ R6 )
% 0.30/0.47                  = ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ ( product_Pair @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) @ Sigma @ ( product_Pair @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) @ Tau @ E3 ) ) ) )
% 0.30/0.47               => ( ( S2 @ ( Alpha2 @ R6 ) )
% 0.30/0.47                  = ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ ( product_Pair @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) @ Sigma @ ( product_Pair @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) @ Tau @ E3 ) ) ) ) ) )
% 0.30/0.47           => ( ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S )
% 0.30/0.47              = S2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % \<R>\<^sub>GI
% 0.30/0.47  thf(fact_201_substitution_Osubsumes__accessible__globallyI,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ! [R_1: R,Sigma_1: L > ( option @ ( val @ R @ L @ V ) ),Tau_1: L > ( option @ ( val @ R @ L @ V ) ),E_1: expr @ R @ L @ V,R_2: R,Sigma_2: L > ( option @ ( val @ R @ L @ V ) ),Tau_2: L > ( option @ ( val @ R @ L @ V ) ),E_2: expr @ R @ L @ V] :
% 0.30/0.47              ( ( ( S @ R_1 )
% 0.30/0.47                = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma_1 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau_1 @ E_1 ) ) ) )
% 0.30/0.47             => ( ( ( S @ R_2 )
% 0.30/0.47                  = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma_2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau_2 @ E_2 ) ) ) )
% 0.30/0.47               => ( subsumes_accessible @ R @ L @ V @ R_1 @ R_2 @ S ) ) )
% 0.30/0.47         => ( subsum380726323obally @ R @ L @ V @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.subsumes_accessible_globallyI
% 0.30/0.47  thf(fact_202__092_060R_062_092_060_094sub_062G__implements__renaming,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,Beta2: B > B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 0.30/0.47        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( is_global_renaming @ A @ B @ C @ Alpha2 @ Beta2 @ S @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % \<R>\<^sub>G_implements_renaming
% 0.30/0.47  thf(fact_203_subsumes__accessible__globallyI,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ! [R_1: r,Sigma_1: l > ( option @ ( val @ r @ l @ v ) ),Tau_1: l > ( option @ ( val @ r @ l @ v ) ),E_1: expr @ r @ l @ v,R_2: r,Sigma_2: l > ( option @ ( val @ r @ l @ v ) ),Tau_2: l > ( option @ ( val @ r @ l @ v ) ),E_2: expr @ r @ l @ v] :
% 0.30/0.47            ( ( ( S @ R_1 )
% 0.30/0.47              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma_1 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau_1 @ E_1 ) ) ) )
% 0.30/0.47           => ( ( ( S @ R_2 )
% 0.30/0.47                = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma_2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau_2 @ E_2 ) ) ) )
% 0.30/0.47             => ( subsumes_accessible @ r @ l @ v @ R_1 @ R_2 @ S ) ) )
% 0.30/0.47       => ( subsum380726323obally @ r @ l @ v @ S ) ) ).
% 0.30/0.47  
% 0.30/0.47  % subsumes_accessible_globallyI
% 0.30/0.47  thf(fact_204_renaming__distr__global_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,Alpha2: A > A,Beta2: B > B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 0.30/0.47        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ Ls ) ) )
% 0.30/0.47          = ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) @ ( Alpha2 @ R2 ) @ ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % renaming_distr_global(1)
% 0.30/0.47  thf(fact_205_in__renamed__in__unlabelled__local_I2_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,Alpha2: A > A,Beta2: B > B,L3: B,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 0.30/0.47        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47         => ( ( member @ B @ ( Beta2 @ L3 ) @ ( lID_L @ B @ A @ C @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) )
% 0.30/0.47            = ( member @ B @ L3 @ ( lID_L @ B @ A @ C @ Ls ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % in_renamed_in_unlabelled_local(2)
% 0.30/0.47  thf(fact_206_in__renamed__in__unlabelled__local_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,Alpha2: A > A,Beta2: B > B,R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 0.30/0.47        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47         => ( ( member @ A @ ( Alpha2 @ R2 ) @ ( rID_L @ B @ A @ C @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) )
% 0.30/0.47            = ( member @ A @ R2 @ ( rID_L @ B @ A @ C @ Ls ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % in_renamed_in_unlabelled_local(1)
% 0.30/0.47  thf(fact_207_RID_092_060_094sub_062GI_I2_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 0.30/0.47        ( ( ( S @ R3 )
% 0.30/0.47          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 0.30/0.47       => ( ( member @ B @ R2 @ ( rID_L @ A @ B @ C @ Ls ) )
% 0.30/0.47         => ( member @ B @ R2 @ ( rID_G @ B @ A @ C @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % RID\<^sub>GI(2)
% 0.30/0.47  thf(fact_208_local__state__of__finite__restricted__global__state__is__finite_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 0.30/0.47        ( ( ( S @ R3 )
% 0.30/0.47          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 0.30/0.47       => ( ( finite_finite2 @ B @ ( rID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) )
% 0.30/0.47         => ( ( R2 != R3 )
% 0.30/0.47           => ( finite_finite2 @ B @ ( rID_L @ A @ B @ C @ Ls ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % local_state_of_finite_restricted_global_state_is_finite(1)
% 0.30/0.47  thf(fact_209_substitution_Oin__renamed__in__unlabelled__local_I1_J,axiom,
% 0.30/0.47      ! [R: $tType,L: $tType,V: $tType,C: $tType,A: $tType,B: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),Alpha2: A > A,Beta2: B > B,R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47           => ( ( member @ A @ ( Alpha2 @ R2 ) @ ( rID_L @ B @ A @ C @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) )
% 0.30/0.47              = ( member @ A @ R2 @ ( rID_L @ B @ A @ C @ Ls ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.in_renamed_in_unlabelled_local(1)
% 0.30/0.47  thf(fact_210_substitution_Oin__renamed__in__unlabelled__local_I2_J,axiom,
% 0.30/0.47      ! [R: $tType,L: $tType,V: $tType,C: $tType,A: $tType,B: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),Alpha2: A > A,Beta2: B > B,L3: B,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47           => ( ( member @ B @ ( Beta2 @ L3 ) @ ( lID_L @ B @ A @ C @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) )
% 0.30/0.47              = ( member @ B @ L3 @ ( lID_L @ B @ A @ C @ Ls ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.in_renamed_in_unlabelled_local(2)
% 0.30/0.47  thf(fact_211_substitution_Olocal__state__of__finite__restricted__global__state__is__finite_I1_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,C: $tType,B: $tType,A: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R3 )
% 0.30/0.47            = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 0.30/0.47         => ( ( finite_finite2 @ B @ ( rID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) )
% 0.30/0.47           => ( ( R2 != R3 )
% 0.30/0.47             => ( finite_finite2 @ B @ ( rID_L @ A @ B @ C @ Ls ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.local_state_of_finite_restricted_global_state_is_finite(1)
% 0.30/0.47  thf(fact_212_reachable__imp__identifiers__available_I2_J,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( reachable @ r @ l @ v @ subst @ S )
% 0.30/0.47       => ( ~ ( finite_finite2 @ l @ ( top_top @ ( set @ l ) ) )
% 0.30/0.47         => ? [L2: l] :
% 0.30/0.47              ~ ( member @ l @ L2 @ ( lID_G @ r @ l @ v @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % reachable_imp_identifiers_available(2)
% 0.30/0.47  thf(fact_213_only__fork__introduces__rids,axiom,
% 0.30/0.47      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47       => ( ! [Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E6: cntxt @ r @ l @ v,E3: expr @ r @ l @ v] :
% 0.30/0.47              ( ( S @ R2 )
% 0.30/0.47             != ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ ( plug @ r @ l @ v @ E6 @ ( rfork @ r @ l @ v @ E3 ) ) ) ) ) )
% 0.30/0.47         => ( ord_less_eq @ ( set @ r ) @ ( rID_G @ r @ l @ v @ S2 ) @ ( rID_G @ r @ l @ v @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % only_fork_introduces_rids
% 0.30/0.47  thf(fact_214_empty__map__finite_I4_J,axiom,
% 0.30/0.47      ! [J: $tType,M3: $tType,K4: $tType] :
% 0.30/0.47        ( finite_finite2 @ J
% 0.30/0.47        @ ( lID_G @ K4 @ J @ M3
% 0.30/0.47          @ ^ [X2: K4] : ( none @ ( product_prod @ ( J > ( option @ ( val @ K4 @ J @ M3 ) ) ) @ ( product_prod @ ( J > ( option @ ( val @ K4 @ J @ M3 ) ) ) @ ( expr @ K4 @ J @ M3 ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % empty_map_finite(4)
% 0.30/0.47  thf(fact_215_in__renamed__in__unlabelled__global_I2_J,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,Beta2: B > B,L3: B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 0.30/0.47        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47       => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47         => ( ( member @ B @ ( Beta2 @ L3 ) @ ( lID_G @ A @ B @ C @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) )
% 0.30/0.47            = ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ S ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % in_renamed_in_unlabelled_global(2)
% 0.30/0.47  thf(fact_216_RID_092_060_094sub_062L__finite__invariant,axiom,
% 0.30/0.47      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47       => ( ( finite_finite2 @ l @ ( lID_G @ r @ l @ v @ S ) )
% 0.30/0.47         => ( finite_finite2 @ l @ ( lID_G @ r @ l @ v @ S2 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % RID\<^sub>L_finite_invariant
% 0.30/0.47  thf(fact_217_reachable__imp__identifiers__finite_I2_J,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( reachable @ r @ l @ v @ subst @ S )
% 0.30/0.47       => ( finite_finite2 @ l @ ( lID_G @ r @ l @ v @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % reachable_imp_identifiers_finite(2)
% 0.30/0.47  thf(fact_218_in__restricted__global__in__unrestricted__global_I2_J,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,L3: B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 0.30/0.47        ( ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) )
% 0.30/0.47       => ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ S ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % in_restricted_global_in_unrestricted_global(2)
% 0.30/0.47  thf(fact_219_LID_092_060_094sub_062GI,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R2: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),L3: A] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 0.30/0.47       => ( ( member @ A @ L3 @ ( lID_L @ A @ B @ C @ Ls ) )
% 0.30/0.47         => ( member @ A @ L3 @ ( lID_G @ B @ A @ C @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % LID\<^sub>GI
% 0.30/0.47  thf(fact_220_finite__Collect__subsets,axiom,
% 0.30/0.47      ! [A: $tType,A6: set @ A] :
% 0.30/0.47        ( ( finite_finite2 @ A @ A6 )
% 0.30/0.47       => ( finite_finite2 @ ( set @ A )
% 0.30/0.47          @ ( collect @ ( set @ A )
% 0.30/0.47            @ ^ [B7: set @ A] : ( ord_less_eq @ ( set @ A ) @ B7 @ A6 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_Collect_subsets
% 0.30/0.47  thf(fact_221_finite__state__imp__restriction__finite_I2_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 0.30/0.47        ( ( finite_finite2 @ B @ ( lID_G @ A @ B @ C @ S ) )
% 0.30/0.47       => ( finite_finite2 @ B @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_state_imp_restriction_finite(2)
% 0.30/0.47  thf(fact_222_in__restricted__global__in__updated__global_I2_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,L3: B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 0.30/0.47        ( ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) )
% 0.30/0.47       => ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ Ls ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % in_restricted_global_in_updated_global(2)
% 0.30/0.47  thf(fact_223_local__state__of__finite__restricted__global__state__is__finite_I2_J,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 0.30/0.47        ( ( ( S @ R3 )
% 0.30/0.47          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 0.30/0.47       => ( ( finite_finite2 @ A @ ( lID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) )
% 0.30/0.47         => ( ( R2 != R3 )
% 0.30/0.47           => ( finite_finite2 @ A @ ( lID_L @ A @ B @ C @ Ls ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % local_state_of_finite_restricted_global_state_is_finite(2)
% 0.30/0.47  thf(fact_224_ID__restricted__global__subset__unrestricted_I1_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R2: B] : ( ord_less_eq @ ( set @ A ) @ ( lID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) @ ( lID_G @ B @ A @ C @ S ) ) ).
% 0.30/0.47  
% 0.30/0.47  % ID_restricted_global_subset_unrestricted(1)
% 0.30/0.47  thf(fact_225_finite__has__minimal2,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( order @ A )
% 0.30/0.47       => ! [A6: set @ A,A2: A] :
% 0.30/0.47            ( ( finite_finite2 @ A @ A6 )
% 0.30/0.47           => ( ( member @ A @ A2 @ A6 )
% 0.30/0.47             => ? [X3: A] :
% 0.30/0.47                  ( ( member @ A @ X3 @ A6 )
% 0.30/0.47                  & ( ord_less_eq @ A @ X3 @ A2 )
% 0.30/0.47                  & ! [Xa2: A] :
% 0.30/0.47                      ( ( member @ A @ Xa2 @ A6 )
% 0.30/0.47                     => ( ( ord_less_eq @ A @ Xa2 @ X3 )
% 0.30/0.47                       => ( X3 = Xa2 ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_has_minimal2
% 0.30/0.47  thf(fact_226_finite__has__maximal2,axiom,
% 0.30/0.47      ! [A: $tType] :
% 0.30/0.47        ( ( order @ A )
% 0.30/0.47       => ! [A6: set @ A,A2: A] :
% 0.30/0.47            ( ( finite_finite2 @ A @ A6 )
% 0.30/0.47           => ( ( member @ A @ A2 @ A6 )
% 0.30/0.47             => ? [X3: A] :
% 0.30/0.47                  ( ( member @ A @ X3 @ A6 )
% 0.30/0.47                  & ( ord_less_eq @ A @ A2 @ X3 )
% 0.30/0.47                  & ! [Xa2: A] :
% 0.30/0.47                      ( ( member @ A @ Xa2 @ A6 )
% 0.30/0.47                     => ( ( ord_less_eq @ A @ X3 @ Xa2 )
% 0.30/0.47                       => ( X3 = Xa2 ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_has_maximal2
% 0.30/0.47  thf(fact_227_rev__finite__subset,axiom,
% 0.30/0.47      ! [A: $tType,B6: set @ A,A6: set @ A] :
% 0.30/0.47        ( ( finite_finite2 @ A @ B6 )
% 0.30/0.47       => ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.30/0.47         => ( finite_finite2 @ A @ A6 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % rev_finite_subset
% 0.30/0.47  thf(fact_228_infinite__super,axiom,
% 0.30/0.47      ! [A: $tType,S6: set @ A,T3: set @ A] :
% 0.30/0.47        ( ( ord_less_eq @ ( set @ A ) @ S6 @ T3 )
% 0.30/0.47       => ( ~ ( finite_finite2 @ A @ S6 )
% 0.30/0.47         => ~ ( finite_finite2 @ A @ T3 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % infinite_super
% 0.30/0.47  thf(fact_229_finite__subset,axiom,
% 0.30/0.47      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.30/0.47        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.30/0.47       => ( ( finite_finite2 @ A @ B6 )
% 0.30/0.47         => ( finite_finite2 @ A @ A6 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % finite_subset
% 0.30/0.47  thf(fact_230_LID_092_060_094sub_062GE,axiom,
% 0.30/0.47      ! [C: $tType,B: $tType,A: $tType,L3: A,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) )] :
% 0.30/0.47        ( ( member @ A @ L3 @ ( lID_G @ B @ A @ C @ S ) )
% 0.30/0.47       => ~ ! [R6: B,Ls3: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) )] :
% 0.30/0.47              ( ( ( S @ R6 )
% 0.30/0.47                = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls3 ) )
% 0.30/0.47             => ~ ( member @ A @ L3 @ ( lID_L @ A @ B @ C @ Ls3 ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % LID\<^sub>GE
% 0.30/0.47  thf(fact_231_substitution_ORID_092_060_094sub_062L__finite__invariant,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47         => ( ( finite_finite2 @ L @ ( lID_G @ R @ L @ V @ S ) )
% 0.30/0.47           => ( finite_finite2 @ L @ ( lID_G @ R @ L @ V @ S2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.RID\<^sub>L_finite_invariant
% 0.30/0.47  thf(fact_232_ID__restricted__global__subset__unrestricted_I2_J,axiom,
% 0.30/0.47      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R2: B] : ( ord_less_eq @ ( set @ B ) @ ( rID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) @ ( rID_G @ B @ A @ C @ S ) ) ).
% 0.30/0.47  
% 0.30/0.47  % ID_restricted_global_subset_unrestricted(2)
% 0.30/0.47  thf(fact_233_substitution_Oreachable__imp__identifiers__finite_I2_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 0.30/0.47         => ( finite_finite2 @ L @ ( lID_G @ R @ L @ V @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.reachable_imp_identifiers_finite(2)
% 0.30/0.47  thf(fact_234_substitution_Oempty__map__finite_I4_J,axiom,
% 0.30/0.47      ! [R: $tType,L: $tType,V: $tType,J: $tType,M3: $tType,K4: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( finite_finite2 @ J
% 0.30/0.47          @ ( lID_G @ K4 @ J @ M3
% 0.30/0.47            @ ^ [X2: K4] : ( none @ ( product_prod @ ( J > ( option @ ( val @ K4 @ J @ M3 ) ) ) @ ( product_prod @ ( J > ( option @ ( val @ K4 @ J @ M3 ) ) ) @ ( expr @ K4 @ J @ M3 ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.empty_map_finite(4)
% 0.30/0.47  thf(fact_235_substitution_Oreachable__imp__identifiers__available_I2_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 0.30/0.47         => ( ~ ( finite_finite2 @ L @ ( top_top @ ( set @ L ) ) )
% 0.30/0.47           => ? [L2: L] :
% 0.30/0.47                ~ ( member @ L @ L2 @ ( lID_G @ R @ L @ V @ S ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.reachable_imp_identifiers_available(2)
% 0.30/0.47  thf(fact_236_substitution_Ofinite__state__imp__restriction__finite_I2_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,C: $tType,A: $tType,B: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( finite_finite2 @ B @ ( lID_G @ A @ B @ C @ S ) )
% 0.30/0.47         => ( finite_finite2 @ B @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.finite_state_imp_restriction_finite(2)
% 0.30/0.47  thf(fact_237_substitution_Oin__renamed__in__unlabelled__global_I2_J,axiom,
% 0.30/0.47      ! [R: $tType,L: $tType,V: $tType,C: $tType,B: $tType,A: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),Alpha2: A > A,Beta2: B > B,L3: B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 0.30/0.47         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 0.30/0.47           => ( ( member @ B @ ( Beta2 @ L3 ) @ ( lID_G @ A @ B @ C @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) )
% 0.30/0.47              = ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ S ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.in_renamed_in_unlabelled_global(2)
% 0.30/0.47  thf(fact_238_substitution_Olocal__state__of__finite__restricted__global__state__is__finite_I2_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,C: $tType,B: $tType,A: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R3 )
% 0.30/0.47            = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 0.30/0.47         => ( ( finite_finite2 @ A @ ( lID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) )
% 0.30/0.47           => ( ( R2 != R3 )
% 0.30/0.47             => ( finite_finite2 @ A @ ( lID_L @ A @ B @ C @ Ls ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.local_state_of_finite_restricted_global_state_is_finite(2)
% 0.30/0.47  thf(fact_239_substitution_Oonly__fork__introduces__rids,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47         => ( ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E6: cntxt @ R @ L @ V,E3: expr @ R @ L @ V] :
% 0.30/0.47                ( ( S @ R2 )
% 0.30/0.47               != ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ ( plug @ R @ L @ V @ E6 @ ( rfork @ R @ L @ V @ E3 ) ) ) ) ) )
% 0.30/0.47           => ( ord_less_eq @ ( set @ R ) @ ( rID_G @ R @ L @ V @ S2 ) @ ( rID_G @ R @ L @ V @ S ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.only_fork_introduces_rids
% 0.30/0.47  thf(fact_240_only__new__introduces__lids_H,axiom,
% 0.30/0.47      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),L3: l] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47       => ( ! [Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E6: cntxt @ r @ l @ v,V3: val @ r @ l @ v] :
% 0.30/0.47              ( ( S @ R2 )
% 0.30/0.47             != ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ ( plug @ r @ l @ v @ E6 @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V3 ) ) ) ) ) ) )
% 0.30/0.47         => ( ~ ( member @ l @ L3 @ ( lID_G @ r @ l @ v @ S ) )
% 0.30/0.47           => ~ ( member @ l @ L3 @ ( lID_G @ r @ l @ v @ S2 ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % only_new_introduces_lids'
% 0.30/0.47  thf(fact_241_SLC__new,axiom,
% 0.30/0.47      ! [S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,V2: val @ r @ l @ v,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),L3: l,R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( ( S_1 @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V2 ) ) ) ) ) ) )
% 0.30/0.47       => ( ( S_2
% 0.30/0.47            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( fun_upd @ l @ ( option @ ( val @ r @ l @ v ) ) @ Tau2 @ L3 @ ( some @ ( val @ r @ l @ v ) @ V2 ) ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( loc @ l @ r @ v @ L3 ) ) ) ) ) ) ) )
% 0.30/0.47         => ( ~ ( member @ l @ L3 @ ( lID_G @ r @ l @ v @ S_1 ) )
% 0.30/0.47           => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47             => ( ( R2 != R3 )
% 0.30/0.47               => ( ( reachable @ r @ l @ v @ subst @ S_1 )
% 0.30/0.47                 => ( ~ ( finite_finite2 @ l @ ( top_top @ ( set @ l ) ) )
% 0.30/0.47                   => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47                        ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 0.30/0.47                        & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                          | ( S_2 = S_3 ) )
% 0.30/0.47                        & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                          | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % SLC_new
% 0.30/0.47  thf(fact_242_val_Oinject_I3_J,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,X32: L,Y32: L] :
% 0.30/0.47        ( ( ( loc @ L @ R @ V @ X32 )
% 0.30/0.47          = ( loc @ L @ R @ V @ Y32 ) )
% 0.30/0.47        = ( X32 = Y32 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % val.inject(3)
% 0.30/0.47  thf(fact_243_expr_Oinject_I4_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X4: expr @ R @ L @ V,Y4: expr @ R @ L @ V] :
% 0.30/0.47        ( ( ( ref @ R @ L @ V @ X4 )
% 0.30/0.47          = ( ref @ R @ L @ V @ Y4 ) )
% 0.30/0.47        = ( X4 = Y4 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.inject(4)
% 0.30/0.47  thf(fact_244_revision__step_Onew,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,V2: val @ r @ l @ v,L3: l] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V2 ) ) ) ) ) ) )
% 0.30/0.47       => ( ~ ( member @ l @ L3 @ ( lID_G @ r @ l @ v @ S ) )
% 0.30/0.47         => ( revision_step @ r @ l @ v @ subst @ R2 @ S @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( fun_upd @ l @ ( option @ ( val @ r @ l @ v ) ) @ Tau2 @ L3 @ ( some @ ( val @ r @ l @ v ) @ V2 ) ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( loc @ l @ r @ v @ L3 ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % revision_step.new
% 0.30/0.47  thf(fact_245_only__new__introduces__lids,axiom,
% 0.30/0.47      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47       => ( ! [Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E6: cntxt @ r @ l @ v,V3: val @ r @ l @ v] :
% 0.30/0.47              ( ( S @ R2 )
% 0.30/0.47             != ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ ( plug @ r @ l @ v @ E6 @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V3 ) ) ) ) ) ) )
% 0.30/0.47         => ( ord_less_eq @ ( set @ l ) @ ( lID_G @ r @ l @ v @ S2 ) @ ( lID_G @ r @ l @ v @ S ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % only_new_introduces_lids
% 0.30/0.47  thf(fact_246_new__pseudodeterministic,axiom,
% 0.30/0.47      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,V2: val @ r @ l @ v,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 0.30/0.47        ( ( ( S @ R2 )
% 0.30/0.47          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V2 ) ) ) ) ) ) )
% 0.30/0.47       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 0.30/0.47          = ( ? [L4: l] :
% 0.30/0.47                ( ~ ( member @ l @ L4 @ ( lID_G @ r @ l @ v @ S ) )
% 0.30/0.47                & ( S2
% 0.30/0.47                  = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( fun_upd @ l @ ( option @ ( val @ r @ l @ v ) ) @ Tau2 @ L4 @ ( some @ ( val @ r @ l @ v ) @ V2 ) ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( loc @ l @ r @ v @ L4 ) ) ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % new_pseudodeterministic
% 0.30/0.47  thf(fact_247_expr_Odistinct_I5_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X1: val @ R @ L @ V,X4: expr @ R @ L @ V] :
% 0.30/0.47        ( ( ve @ R @ L @ V @ X1 )
% 0.30/0.47       != ( ref @ R @ L @ V @ X4 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.distinct(5)
% 0.30/0.47  thf(fact_248_val_Odistinct_I15_J,axiom,
% 0.30/0.47      ! [L: $tType,V: $tType,R: $tType,X32: L,X4: R] :
% 0.30/0.47        ( ( loc @ L @ R @ V @ X32 )
% 0.30/0.47       != ( rid @ R @ L @ V @ X4 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % val.distinct(15)
% 0.30/0.47  thf(fact_249_expr_Odistinct_I43_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X4: expr @ R @ L @ V,X8: expr @ R @ L @ V] :
% 0.30/0.47        ( ( ref @ R @ L @ V @ X4 )
% 0.30/0.47       != ( rjoin @ R @ L @ V @ X8 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.distinct(43)
% 0.30/0.47  thf(fact_250_expr_Odistinct_I41_J,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,X4: expr @ R @ L @ V,X7: expr @ R @ L @ V] :
% 0.30/0.47        ( ( ref @ R @ L @ V @ X4 )
% 0.30/0.47       != ( rfork @ R @ L @ V @ X7 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % expr.distinct(41)
% 0.30/0.47  thf(fact_251_val_Odistinct_I3_J,axiom,
% 0.30/0.47      ! [R: $tType,V: $tType,L: $tType,X1: const,X32: L] :
% 0.30/0.47        ( ( cv @ R @ L @ V @ X1 )
% 0.30/0.47       != ( loc @ L @ R @ V @ X32 ) ) ).
% 0.30/0.47  
% 0.30/0.47  % val.distinct(3)
% 0.30/0.47  thf(fact_252_substitution_Onew__pseudodeterministic,axiom,
% 0.30/0.47      ! [V: $tType,R: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,V2: val @ R @ L @ V,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ref @ R @ L @ V @ ( ve @ R @ L @ V @ V2 ) ) ) ) ) ) )
% 0.30/0.47         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 0.30/0.47            = ( ? [L4: L] :
% 0.30/0.47                  ( ~ ( member @ L @ L4 @ ( lID_G @ R @ L @ V @ S ) )
% 0.30/0.47                  & ( S2
% 0.30/0.47                    = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( fun_upd @ L @ ( option @ ( val @ R @ L @ V ) ) @ Tau2 @ L4 @ ( some @ ( val @ R @ L @ V ) @ V2 ) ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( loc @ L @ R @ V @ L4 ) ) ) ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.new_pseudodeterministic
% 0.30/0.47  thf(fact_253_substitution_Orevision__step_Onew,axiom,
% 0.30/0.47      ! [R: $tType,V: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,V2: val @ R @ L @ V,L3: L] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ref @ R @ L @ V @ ( ve @ R @ L @ V @ V2 ) ) ) ) ) ) )
% 0.30/0.47         => ( ~ ( member @ L @ L3 @ ( lID_G @ R @ L @ V @ S ) )
% 0.30/0.47           => ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( fun_upd @ L @ ( option @ ( val @ R @ L @ V ) ) @ Tau2 @ L3 @ ( some @ ( val @ R @ L @ V ) @ V2 ) ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( loc @ L @ R @ V @ L3 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.revision_step.new
% 0.30/0.47  thf(fact_254_substitution_OSLC__new,axiom,
% 0.30/0.47      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,V2: val @ R @ L @ V,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),L3: L,R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47        ( ( substitution @ R @ L @ V @ Subst )
% 0.30/0.47       => ( ( ( S_1 @ R2 )
% 0.30/0.47            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ref @ R @ L @ V @ ( ve @ R @ L @ V @ V2 ) ) ) ) ) ) )
% 0.30/0.47         => ( ( S_2
% 0.30/0.47              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( fun_upd @ L @ ( option @ ( val @ R @ L @ V ) ) @ Tau2 @ L3 @ ( some @ ( val @ R @ L @ V ) @ V2 ) ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( loc @ L @ R @ V @ L3 ) ) ) ) ) ) ) )
% 0.30/0.47           => ( ~ ( member @ L @ L3 @ ( lID_G @ R @ L @ V @ S_1 ) )
% 0.30/0.47             => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 0.30/0.47               => ( ( R2 != R3 )
% 0.30/0.47                 => ( ( reachable @ R @ L @ V @ Subst @ S_1 )
% 0.30/0.47                   => ( ~ ( finite_finite2 @ L @ ( top_top @ ( set @ L ) ) )
% 0.30/0.47                     => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 0.30/0.47                          ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 0.30/0.47                          & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 0.30/0.47                            | ( S_2 = S_3 ) )
% 0.30/0.47                          & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 0.30/0.47                            | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % substitution.SLC_new
% 0.30/0.47  
% 0.30/0.47  % Type constructors (9)
% 0.30/0.47  thf(tcon_fun___Finite__Set_Ofinite,axiom,
% 0.30/0.47      ! [A9: $tType,A10: $tType] :
% 0.30/0.47        ( ( ( finite_finite @ A9 )
% 0.30/0.47          & ( finite_finite @ A10 ) )
% 0.30/0.47       => ( finite_finite @ ( A9 > A10 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(tcon_fun___Orderings_Oorder,axiom,
% 0.30/0.47      ! [A9: $tType,A10: $tType] :
% 0.30/0.47        ( ( order @ A10 )
% 0.30/0.47       => ( order @ ( A9 > A10 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(tcon_Set_Oset___Finite__Set_Ofinite_1,axiom,
% 0.30/0.47      ! [A9: $tType] :
% 0.30/0.47        ( ( finite_finite @ A9 )
% 0.30/0.47       => ( finite_finite @ ( set @ A9 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(tcon_Set_Oset___Orderings_Oorder_2,axiom,
% 0.30/0.47      ! [A9: $tType] : ( order @ ( set @ A9 ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(tcon_HOL_Obool___Finite__Set_Ofinite_3,axiom,
% 0.30/0.47      finite_finite @ $o ).
% 0.30/0.47  
% 0.30/0.47  thf(tcon_HOL_Obool___Orderings_Oorder_4,axiom,
% 0.30/0.47      order @ $o ).
% 0.30/0.47  
% 0.30/0.47  thf(tcon_Sum__Type_Osum___Finite__Set_Ofinite_5,axiom,
% 0.30/0.47      ! [A9: $tType,A10: $tType] :
% 0.30/0.47        ( ( ( finite_finite @ A9 )
% 0.30/0.47          & ( finite_finite @ A10 ) )
% 0.30/0.47       => ( finite_finite @ ( sum_sum @ A9 @ A10 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(tcon_Option_Ooption___Finite__Set_Ofinite_6,axiom,
% 0.30/0.47      ! [A9: $tType] :
% 0.30/0.47        ( ( finite_finite @ A9 )
% 0.30/0.47       => ( finite_finite @ ( option @ A9 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(tcon_Product__Type_Oprod___Finite__Set_Ofinite_7,axiom,
% 0.30/0.47      ! [A9: $tType,A10: $tType] :
% 0.30/0.47        ( ( ( finite_finite @ A9 )
% 0.30/0.47          & ( finite_finite @ A10 ) )
% 0.30/0.47       => ( finite_finite @ ( product_prod @ A9 @ A10 ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  % Helper facts (3)
% 0.30/0.47  thf(help_If_3_1_T,axiom,
% 0.30/0.47      ! [P: $o] :
% 0.30/0.47        ( ( P = $true )
% 0.30/0.47        | ( P = $false ) ) ).
% 0.30/0.47  
% 0.30/0.47  thf(help_If_2_1_T,axiom,
% 0.30/0.47      ! [A: $tType,X: A,Y: A] :
% 0.30/0.47        ( ( if @ A @ $false @ X @ Y )
% 0.30/0.47        = Y ) ).
% 0.30/0.47  
% 0.30/0.47  thf(help_If_1_1_T,axiom,
% 0.30/0.47      ! [A: $tType,X: A,Y: A] :
% 0.30/0.47        ( ( if @ A @ $true @ X @ Y )
% 0.30/0.47        = X ) ).
% 0.30/0.47  
% 0.30/0.47  % Conjectures (1)
% 0.30/0.47  thf(conj_0,conjecture,
% 0.30/0.47      ( s
% 0.30/0.47      = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ s @ r2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ tau @ ( plug @ r @ l @ v @ e @ ( rfork @ r @ l @ v @ e2 ) ) ) ) ) ) ) ).
% 0.30/0.47  
% 0.30/0.47  %------------------------------------------------------------------------------
% 0.30/0.47  ------------------------
% 2.94/1.59  ---- Embedded in THF ---
% 2.94/1.59  %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 2.94/1.59  %%% Generated on Tue Feb 24 08:24:47 EST 2026
% 2.94/1.59  %%% using '$$dhol' embedding, version 1.3.0.
% 2.94/1.59  %%% Logic specification used:
% 2.94/1.59  %%% thf(spec, logic, $$dhol).
% 2.94/1.59  
% 2.94/1.59  % SZS output start ListOfTHF for /export/starexec/sandbox/tmp/tmp.9vsdmJoB3y/DTF2DTF17747.p
% 2.94/1.59  thf(ty_t_Product__Type_Oprod, type, product_prod: ($tType > ($tType > $tType))).
% 2.94/1.59  thf(ty_t_Sum__Type_Osum, type, sum_sum: ($tType > ($tType > $tType))).
% 2.94/1.59  thf(ty_t_Option_Ooption, type, option: ($tType > $tType)).
% 2.94/1.59  thf(ty_t_Data_Oconst, type, const: $tType).
% 2.94/1.59  thf(ty_t_Data_Ocntxt, type, cntxt: ($tType > ($tType > ($tType > $tType)))).
% 2.94/1.59  thf(ty_t_Data_Oexpr, type, expr: ($tType > ($tType > ($tType > $tType)))).
% 2.94/1.59  thf(ty_t_Data_Oval, type, val: ($tType > ($tType > ($tType > $tType)))).
% 2.94/1.59  thf(ty_t_Set_Oset, type, set: ($tType > $tType)).
% 2.94/1.59  thf(ty_tf_v, type, v: $tType).
% 2.94/1.59  thf(ty_tf_r, type, r: $tType).
% 2.94/1.59  thf(ty_tf_l, type, l: $tType).
% 2.94/1.59  thf(sy_cl_HOL_Otype, type, type: (!> [A:$tType]: ($o))).
% 2.94/1.59  thf(sy_cl_Orderings_Oorder, type, order: (!> [A:$tType]: ($o))).
% 2.94/1.59  thf(sy_cl_Finite__Set_Ofinite, type, finite_finite: (!> [A:$tType]: ($o))).
% 2.94/1.59  thf(sy_cl_Nat_Osemiring__char__0, type, semiring_char_0: (!> [A:$tType]: ($o))).
% 2.94/1.59  thf(sy_c_Data_OLID__expression, type, lID_expression: (!> [L:$tType,R:$tType,V:$tType]: ((((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) > (((expr @ R) @ L) @ V))))).
% 2.94/1.59  thf(sy_c_Data_OLID__local__store, type, lID_local_store: (!> [L:$tType,R:$tType,V:$tType]: ((((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) > (L > (option @ (((val @ R) @ L) @ V))))))).
% 2.94/1.59  thf(sy_c_Data_OLID__snapshot, type, lID_snapshot: (!> [L:$tType,R:$tType,V:$tType]: ((((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) > (L > (option @ (((val @ R) @ L) @ V))))))).
% 2.94/1.59  thf(sy_c_Data_Ocombine, type, combine: (!> [A:$tType,B:$tType]: (((A > (option @ B)) > ((A > (option @ B)) > (A > (option @ B))))))).
% 2.94/1.59  thf(sy_c_Data_Oconst_OUnit, type, unit: const).
% 2.94/1.59  thf(sy_c_Data_Oexpr_ORef, type, ref: (!> [R:$tType,L:$tType,V:$tType]: (((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V))))).
% 2.94/1.59  thf(sy_c_Data_Oexpr_ORfork, type, rfork: (!> [R:$tType,L:$tType,V:$tType]: (((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V))))).
% 2.94/1.59  thf(sy_c_Data_Oexpr_ORjoin, type, rjoin: (!> [R:$tType,L:$tType,V:$tType]: (((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V))))).
% 2.94/1.59  thf(sy_c_Data_Oexpr_OVE, type, ve: (!> [R:$tType,L:$tType,V:$tType]: (((((val @ R) @ L) @ V) > (((expr @ R) @ L) @ V))))).
% 2.94/1.59  thf(sy_c_Data_Oplug, type, plug: (!> [R:$tType,L:$tType,V:$tType]: (((((cntxt @ R) @ L) @ V) > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))))).
% 2.94/1.59  thf(sy_c_Data_Oval_OCV, type, cv: (!> [R:$tType,L:$tType,V:$tType]: ((const > (((val @ R) @ L) @ V))))).
% 2.94/1.59  thf(sy_c_Data_Oval_OLoc, type, loc: (!> [L:$tType,R:$tType,V:$tType]: ((L > (((val @ R) @ L) @ V))))).
% 2.94/1.59  thf(sy_c_Data_Oval_ORid, type, rid: (!> [R:$tType,L:$tType,V:$tType]: ((R > (((val @ R) @ L) @ V))))).
% 2.94/1.59  thf(sy_c_Executions_Osubstitution_Oexecution, type, execution: (!> [R:$tType,L:$tType,V:$tType]: ((((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))) > ((((expr @ R) @ L) @ V) > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o))))))).
% 2.94/1.59  thf(sy_c_Executions_Osubstitution_Oinductive__invariant, type, inductive_invariant: (!> [R:$tType,L:$tType,V:$tType]: ((((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))) > (((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o) > $o))))).
% 2.94/1.59  thf(sy_c_Executions_Osubstitution_Oreachable, type, reachable: (!> [R:$tType,L:$tType,V:$tType]: ((((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))) > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o))))).
% 2.94/1.59  thf(sy_c_Finite__Set_Ofinite, type, finite_finite2: (!> [A:$tType]: (((set @ A) > $o)))).
% 2.94/1.59  thf(sy_c_Fun_Obij__betw, type, bij_betw: (!> [A:$tType,B:$tType]: (((A > B) > ((set @ A) > ((set @ B) > $o)))))).
% 2.94/1.59  thf(sy_c_Fun_Ofun__upd, type, fun_upd: (!> [A:$tType,B:$tType]: (((A > B) > (A > (B > (A > B))))))).
% 2.94/1.59  thf(sy_c_If, type, if: (!> [A:$tType]: (($o > (A > (A > A)))))).
% 2.94/1.59  thf(sy_c_Map_Omap__comp, type, map_comp: (!> [B:$tType,C:$tType,A:$tType]: (((B > (option @ C)) > ((A > (option @ B)) > (A > (option @ C))))))).
% 2.94/1.59  thf(sy_c_Occurrences_OLID_092_060_094sub_062G, type, lID_G: (!> [R:$tType,L:$tType,V:$tType]: (((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > (set @ L))))).
% 2.94/1.59  thf(sy_c_Occurrences_OLID_092_060_094sub_062L, type, lID_L: (!> [L:$tType,R:$tType,V:$tType]: ((((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) > (set @ L))))).
% 2.94/1.59  thf(sy_c_Occurrences_ORID_092_060_094sub_062G, type, rID_G: (!> [R:$tType,L:$tType,V:$tType]: (((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > (set @ R))))).
% 2.94/1.59  thf(sy_c_Occurrences_ORID_092_060_094sub_062L, type, rID_L: (!> [L:$tType,R:$tType,V:$tType]: ((((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) > (set @ R))))).
% 2.94/1.59  thf(sy_c_OperationalSemantics_Osubstitution_Odomains__subsume, type, domains_subsume: (!> [L:$tType,R:$tType,V:$tType]: ((((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) > $o)))).
% 2.94/1.59  thf(sy_c_OperationalSemantics_Osubstitution_Odomains__subsume__globally, type, domain398919503obally: (!> [R:$tType,L:$tType,V:$tType]: (((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o)))).
% 2.94/1.59  thf(sy_c_OperationalSemantics_Osubstitution_Orevision__step, type, revision_step: (!> [R:$tType,L:$tType,V:$tType]: ((((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))) > (R > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o))))))).
% 2.94/1.59  thf(sy_c_OperationalSemantics_Osubstitution_Orevision__step__relaxed, type, revisi1433015572elaxed: (!> [R:$tType,L:$tType,V:$tType]: ((((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))) > (R > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o))))))).
% 2.94/1.59  thf(sy_c_OperationalSemantics_Osubstitution_Osubsumes__accessible, type, subsumes_accessible: (!> [R:$tType,L:$tType,V:$tType]: ((R > (R > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o)))))).
% 2.94/1.59  thf(sy_c_OperationalSemantics_Osubstitution_Osubsumes__accessible__globally, type, subsum380726323obally: (!> [R:$tType,L:$tType,V:$tType]: (((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o)))).
% 2.94/1.59  thf(sy_c_Option_Ooption_ONone, type, none: (!> [A:$tType]: ((option @ A)))).
% 2.94/1.59  thf(sy_c_Option_Ooption_OSome, type, some: (!> [A:$tType]: ((A > (option @ A))))).
% 2.94/1.59  thf(sy_c_Orderings_Oord__class_Oless__eq, type, ord_less_eq: (!> [A:$tType]: ((A > (A > $o))))).
% 2.94/1.59  thf(sy_c_Orderings_Otop__class_Otop, type, top_top: (!> [A:$tType]: (A))).
% 2.94/1.59  thf(sy_c_Product__Type_OPair, type, product_Pair: (!> [A:$tType,B:$tType]: ((A > (B > ((product_prod @ A) @ B)))))).
% 2.94/1.59  thf(sy_c_Product__Type_Ointernal__case__prod, type, produc2004651681e_prod: (!> [A:$tType,B:$tType,C:$tType]: (((A > (B > C)) > (((product_prod @ A) @ B) > C))))).
% 2.94/1.59  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod, type, product_rec_prod: (!> [A:$tType,B:$tType,T:$tType]: (((A > (B > T)) > (((product_prod @ A) @ B) > T))))).
% 2.94/1.59  thf(sy_c_Renaming_O_092_060R_062_092_060_094sub_062G, type, r_G: (!> [R:$tType,L:$tType,V:$tType]: (((R > R) > ((L > L) > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > (R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))))))))).
% 2.94/1.59  thf(sy_c_Renaming_O_092_060R_062_092_060_094sub_062L, type, r_L: (!> [R:$tType,L:$tType,V:$tType]: (((R > R) > ((L > L) > (((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) > ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))))))).
% 2.94/1.59  thf(sy_c_Renaming_Oeq__states, type, eq_states: (!> [R:$tType,L:$tType,V:$tType]: (((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o))))).
% 2.94/1.59  thf(sy_c_Renaming_Ois__global__renaming, type, is_global_renaming: (!> [R:$tType,L:$tType,V:$tType]: (((R > R) > ((L > L) > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > ((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o))))))).
% 2.94/1.59  thf(sy_c_Set_OCollect, type, collect: (!> [A:$tType]: (((A > $o) > (set @ A))))).
% 2.94/1.59  thf(sy_c_Substitution_Osubstitution, type, substitution: (!> [R:$tType,L:$tType,V:$tType]: ((((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))) > $o)))).
% 2.94/1.59  thf(sy_c_member, type, member: (!> [A:$tType]: ((A > ((set @ A) > $o))))).
% 2.94/1.59  thf(sy_v__092_060E_062____, type, e: (((cntxt @ r) @ l) @ v)).
% 2.94/1.59  thf(sy_v__092_060alpha_062, type, alpha: (r > r)).
% 2.94/1.59  thf(sy_v__092_060beta_062, type, beta: (l > l)).
% 2.94/1.59  thf(sy_v__092_060sigma_062____, type, sigma: (l > (option @ (((val @ r) @ l) @ v)))).
% 2.94/1.59  thf(sy_v__092_060tau_062____, type, tau: (l > (option @ (((val @ r) @ l) @ v)))).
% 2.94/1.59  thf(sy_v_e____, type, e2: (((expr @ r) @ l) @ v)).
% 2.94/1.59  thf(sy_v_r, type, r2: r).
% 2.94/1.59  thf(sy_v_r_H____, type, r3: r).
% 2.94/1.59  thf(sy_v_s, type, s: (r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))).
% 2.94/1.59  thf(sy_v_s_H, type, s2: (r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))).
% 2.94/1.59  thf(sy_v_subst, type, subst: ((((expr @ r) @ l) @ v) > (v > ((((expr @ r) @ l) @ v) > (((expr @ r) @ l) @ v))))).
% 2.94/1.59  thf(fact_0_local_Ofork_I2_J, axiom, ((s @ r2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ sigma) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ tau) @ (((((plug @ r) @ l) @ v) @ e) @ ((((rfork @ r) @ l) @ v) @ e2))))))).
% 2.94/1.59  thf(fact_1_expr_Oinject_I7_J, axiom, (! [V:$tType,L:$tType,R:$tType,X7:(((expr @ R) @ L) @ V),Y7:(((expr @ R) @ L) @ V)]: (((((((rfork @ R) @ L) @ V) @ X7) = ((((rfork @ R) @ L) @ V) @ Y7)) = (X7 = Y7))))).
% 2.94/1.59  thf(fact_2_injective__cntxt, axiom, (! [C:$tType,B:$tType,A:$tType,E:(((cntxt @ A) @ B) @ C),E1:(((expr @ A) @ B) @ C),E2:(((expr @ A) @ B) @ C)]: ((((((((plug @ A) @ B) @ C) @ E) @ E1) = (((((plug @ A) @ B) @ C) @ E) @ E2)) = (E1 = E2))))).
% 2.94/1.59  thf(fact_3_fun__upd__upd, axiom, (! [A:$tType,B:$tType,F:(A > B),X:A,Y:B,Z:B]: (((((((fun_upd @ A) @ B) @ (((((fun_upd @ A) @ B) @ F) @ X) @ Y)) @ X) @ Z) = (((((fun_upd @ A) @ B) @ F) @ X) @ Z))))).
% 2.94/1.59  thf(fact_4_fun__upd__triv, axiom, (! [B:$tType,A:$tType,F:(A > B),X:A]: (((((((fun_upd @ A) @ B) @ F) @ X) @ (F @ X)) = F)))).
% 2.94/1.59  thf(fact_5_fun__upd__apply, axiom, (! [A:$tType,B:$tType]: ((((fun_upd @ B) @ A) = (^ [F2:(B > A),X2:B,Y2:A,Z2:B]: (((((if @ A) @ (Z2 = X2)) @ Y2) @ (F2 @ Z2)))))))).
% 2.94/1.59  thf(fact_6_option_Oinject, axiom, (! [A:$tType,X22:A,Y22:A]: (((((some @ A) @ X22) = ((some @ A) @ Y22)) = (X22 = Y22))))).
% 2.94/1.59  thf(fact_7_prod_Oinject, axiom, (! [A:$tType,B:$tType,X1:A,X22:B,Y1:A,Y22:B]: (((((((product_Pair @ A) @ B) @ X1) @ X22) = ((((product_Pair @ A) @ B) @ Y1) @ Y22)) = ((X1 = Y1) & (X22 = Y22)))))).
% 2.94/1.59  thf(fact_8_old_Oprod_Oinject, axiom, (! [A:$tType,B:$tType,A2:A,B2:B,A3:A,B3:B]: (((((((product_Pair @ A) @ B) @ A2) @ B2) = ((((product_Pair @ A) @ B) @ A3) @ B3)) = ((A2 = A3) & (B2 = B3)))))).
% 2.94/1.59  thf(fact_9_LID__local__store_Ocases, axiom, (! [V:$tType,L:$tType,R:$tType,X:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))]: ((~ ((! [Sigma:(L > (option @ (((val @ R) @ L) @ V))),Tau:(L > (option @ (((val @ R) @ L) @ V))),E3:(((expr @ R) @ L) @ V)]: ((X != ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ E3)))))))))).
% 2.94/1.59  thf(fact_10_LID__local__store_Oinduct, axiom, (! [V:$tType,R:$tType,L:$tType,P:(((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) > $o),A0:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))]: (((! [Sigma:(L > (option @ (((val @ R) @ L) @ V))),Tau:(L > (option @ (((val @ R) @ L) @ V))),E3:(((expr @ R) @ L) @ V)]: ((P @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ E3))))) => (P @ A0))))).
% 2.94/1.59  thf(fact_11__092_060R_062_092_060_094sub_062L_Oinduct, axiom, (! [V:$tType,R:$tType,L:$tType,P:((R > R) > ((L > L) > (((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) > $o))),A0:(R > R),A1:(L > L),A22:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))]: (((! [Alpha:(R > R),Beta:(L > L),Sigma:(L > (option @ (((val @ R) @ L) @ V))),Tau:(L > (option @ (((val @ R) @ L) @ V))),E3:(((expr @ R) @ L) @ V)]: ((((P @ Alpha) @ Beta) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ E3))))) => (((P @ A0) @ A1) @ A22))))).
% 2.94/1.59  thf(fact_12_map__upd__eqD1, axiom, (! [A:$tType,B:$tType,M:(A > (option @ B)),A2:A,X:B,N:(A > (option @ B)),Y:B]: ((((((((fun_upd @ A) @ (option @ B)) @ M) @ A2) @ ((some @ B) @ X)) = (((((fun_upd @ A) @ (option @ B)) @ N) @ A2) @ ((some @ B) @ Y))) => (X = Y))))).
% 2.94/1.59  thf(fact_13__092_060R_062_092_060_094sub_062L_Ocases, axiom, (! [V:$tType,L:$tType,R:$tType,X:((product_prod @ (R > R)) @ ((product_prod @ (L > L)) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((~ ((! [Alpha:(R > R),Beta:(L > L),Sigma:(L > (option @ (((val @ R) @ L) @ V))),Tau:(L > (option @ (((val @ R) @ L) @ V))),E3:(((expr @ R) @ L) @ V)]: ((X != ((((product_Pair @ (R > R)) @ ((product_prod @ (L > L)) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ Alpha) @ ((((product_Pair @ (L > L)) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ Beta) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ E3)))))))))))).
% 2.94/1.59  thf(fact_14__092_060R_062_092_060_094sub_062S_Ocases, axiom, (! [R:$tType,V:$tType,L:$tType,X:((product_prod @ (R > R)) @ ((product_prod @ (L > L)) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ L)))]: ((~ ((! [Alpha:(R > R),Beta:(L > L),Sigma:(L > (option @ (((val @ R) @ L) @ V))),L2:L]: ((X != ((((product_Pair @ (R > R)) @ ((product_prod @ (L > L)) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ L))) @ Alpha) @ ((((product_Pair @ (L > L)) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ L)) @ Beta) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ L) @ Sigma) @ L2))))))))))).
% 2.94/1.59  thf(fact_15_old_Oprod_Oinducts, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),Prod:((product_prod @ A) @ B)]: (((! [A4:A,B4:B]: ((P @ ((((product_Pair @ A) @ B) @ A4) @ B4)))) => (P @ Prod))))).
% 2.94/1.59  thf(fact_16_old_Oprod_Oexhaust, axiom, (! [A:$tType,B:$tType,Y:((product_prod @ A) @ B)]: ((~ ((! [A4:A,B4:B]: ((Y != ((((product_Pair @ A) @ B) @ A4) @ B4))))))))).
% 2.94/1.59  thf(fact_17_Pair__inject, axiom, (! [A:$tType,B:$tType,A2:A,B2:B,A3:A,B3:B]: (((((((product_Pair @ A) @ B) @ A2) @ B2) = ((((product_Pair @ A) @ B) @ A3) @ B3)) => (~ (((A2 = A3) => (B2 != B3)))))))).
% 2.94/1.59  thf(fact_18_prod__cases, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),P2:((product_prod @ A) @ B)]: (((! [A4:A,B4:B]: ((P @ ((((product_Pair @ A) @ B) @ A4) @ B4)))) => (P @ P2))))).
% 2.94/1.59  thf(fact_19_surj__pair, axiom, (! [A:$tType,B:$tType,P2:((product_prod @ A) @ B)]: ((? [X3:A,Y3:B]: ((P2 = ((((product_Pair @ A) @ B) @ X3) @ Y3))))))).
% 2.94/1.59  thf(fact_20_fun__upd__idem__iff, axiom, (! [A:$tType,B:$tType,F:(A > B),X:A,Y:B]: ((((((((fun_upd @ A) @ B) @ F) @ X) @ Y) = F) = ((F @ X) = Y))))).
% 2.94/1.59  thf(fact_21_fun__upd__twist, axiom, (! [A:$tType,B:$tType,A2:A,C2:A,M:(A > B),B2:B,D:B]: (((A2 != C2) => ((((((fun_upd @ A) @ B) @ (((((fun_upd @ A) @ B) @ M) @ A2) @ B2)) @ C2) @ D) = (((((fun_upd @ A) @ B) @ (((((fun_upd @ A) @ B) @ M) @ C2) @ D)) @ A2) @ B2)))))).
% 2.94/1.59  thf(fact_22_fun__upd__other, axiom, (! [B:$tType,A:$tType,Z:A,X:A,F:(A > B),Y:B]: (((Z != X) => (((((((fun_upd @ A) @ B) @ F) @ X) @ Y) @ Z) = (F @ Z)))))).
% 2.94/1.59  thf(fact_23_fun__upd__same, axiom, (! [B:$tType,A:$tType,F:(B > A),X:B,Y:A]: ((((((((fun_upd @ B) @ A) @ F) @ X) @ Y) @ X) = Y)))).
% 2.94/1.59  thf(fact_24_fun__upd__idem, axiom, (! [A:$tType,B:$tType,F:(B > A),X:B,Y:A]: ((((F @ X) = Y) => ((((((fun_upd @ B) @ A) @ F) @ X) @ Y) = F))))).
% 2.94/1.59  thf(fact_25_fun__upd__eqD, axiom, (! [A:$tType,B:$tType,F:(A > B),X:A,Y:B,G:(A > B),Z:B]: ((((((((fun_upd @ A) @ B) @ F) @ X) @ Y) = (((((fun_upd @ A) @ B) @ G) @ X) @ Z)) => (Y = Z))))).
% 2.94/1.59  thf(fact_26_fun__upd__def, axiom, (! [B:$tType,A:$tType]: ((((fun_upd @ A) @ B) = (^ [F2:(A > B),A5:A,B5:B,X2:A]: (((((if @ B) @ (X2 = A5)) @ B5) @ (F2 @ X2)))))))).
% 2.94/1.59  thf(fact_27_prod__induct7, axiom, (! [G2:$tType,F3:$tType,E4:$tType,D2:$tType,C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2)))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2))))))]: (((! [A4:A,B4:B,C3:C,D3:D2,E3:E4,F4:F3,G3:G2]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2)))))) @ A4) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2))))) @ B4) @ ((((product_Pair @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2)))) @ C3) @ ((((product_Pair @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2))) @ D3) @ ((((product_Pair @ E4) @ ((product_prod @ F3) @ G2)) @ E3) @ ((((product_Pair @ F3) @ G2) @ F4) @ G3))))))))) => (P @ X))))).
% 2.94/1.59  thf(fact_28_prod__induct6, axiom, (! [F3:$tType,E4:$tType,D2:$tType,C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ F3))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ F3)))))]: (((! [A4:A,B4:B,C3:C,D3:D2,E3:E4,F4:F3]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ F3))))) @ A4) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ F3)))) @ B4) @ ((((product_Pair @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ F3))) @ C3) @ ((((product_Pair @ D2) @ ((product_prod @ E4) @ F3)) @ D3) @ ((((product_Pair @ E4) @ F3) @ E3) @ F4)))))))) => (P @ X))))).
% 2.94/1.59  thf(fact_29_prod__induct5, axiom, (! [E4:$tType,D2:$tType,C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ E4)))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ E4))))]: (((! [A4:A,B4:B,C3:C,D3:D2,E3:E4]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ E4)))) @ A4) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ E4))) @ B4) @ ((((product_Pair @ C) @ ((product_prod @ D2) @ E4)) @ C3) @ ((((product_Pair @ D2) @ E4) @ D3) @ E3))))))) => (P @ X))))).
% 2.94/1.59  thf(fact_30_prod__induct4, axiom, (! [D2:$tType,C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D2))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D2)))]: (((! [A4:A,B4:B,C3:C,D3:D2]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D2))) @ A4) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D2)) @ B4) @ ((((product_Pair @ C) @ D2) @ C3) @ D3)))))) => (P @ X))))).
% 2.94/1.59  thf(fact_31_prod__induct3, axiom, (! [C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ C)) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ C))]: (((! [A4:A,B4:B,C3:C]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A4) @ ((((product_Pair @ B) @ C) @ B4) @ C3))))) => (P @ X))))).
% 2.94/1.59  thf(fact_32_prod__cases7, axiom, (! [A:$tType,B:$tType,C:$tType,D2:$tType,E4:$tType,F3:$tType,G2:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2))))))]: ((~ ((! [A4:A,B4:B,C3:C,D3:D2,E3:E4,F4:F3,G3:G2]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2)))))) @ A4) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2))))) @ B4) @ ((((product_Pair @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2)))) @ C3) @ ((((product_Pair @ D2) @ ((product_prod @ E4) @ ((product_prod @ F3) @ G2))) @ D3) @ ((((product_Pair @ E4) @ ((product_prod @ F3) @ G2)) @ E3) @ ((((product_Pair @ F3) @ G2) @ F4) @ G3)))))))))))))).
% 2.94/1.59  thf(fact_33_prod__cases6, axiom, (! [A:$tType,B:$tType,C:$tType,D2:$tType,E4:$tType,F3:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ F3)))))]: ((~ ((! [A4:A,B4:B,C3:C,D3:D2,E3:E4,F4:F3]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ F3))))) @ A4) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ F3)))) @ B4) @ ((((product_Pair @ C) @ ((product_prod @ D2) @ ((product_prod @ E4) @ F3))) @ C3) @ ((((product_Pair @ D2) @ ((product_prod @ E4) @ F3)) @ D3) @ ((((product_Pair @ E4) @ F3) @ E3) @ F4))))))))))))).
% 2.94/1.59  thf(fact_34_prod__cases5, axiom, (! [A:$tType,B:$tType,C:$tType,D2:$tType,E4:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ E4))))]: ((~ ((! [A4:A,B4:B,C3:C,D3:D2,E3:E4]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ E4)))) @ A4) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D2) @ E4))) @ B4) @ ((((product_Pair @ C) @ ((product_prod @ D2) @ E4)) @ C3) @ ((((product_Pair @ D2) @ E4) @ D3) @ E3)))))))))))).
% 2.94/1.59  thf(fact_35_prod__cases4, axiom, (! [A:$tType,B:$tType,C:$tType,D2:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D2)))]: ((~ ((! [A4:A,B4:B,C3:C,D3:D2]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D2))) @ A4) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D2)) @ B4) @ ((((product_Pair @ C) @ D2) @ C3) @ D3))))))))))).
% 2.94/1.59  thf(fact_36_prod__cases3, axiom, (! [A:$tType,B:$tType,C:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ C))]: ((~ ((! [A4:A,B4:B,C3:C]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A4) @ ((((product_Pair @ B) @ C) @ B4) @ C3)))))))))).
% 2.94/1.59  thf(fact_37_combine_Ocases, axiom, (! [B:$tType,A:$tType,X:((product_prod @ (A > (option @ B))) @ ((product_prod @ (A > (option @ B))) @ A))]: ((~ ((! [F4:(A > (option @ B)),G3:(A > (option @ B)),X3:A]: ((X != ((((product_Pair @ (A > (option @ B))) @ ((product_prod @ (A > (option @ B))) @ A)) @ F4) @ ((((product_Pair @ (A > (option @ B))) @ A) @ G3) @ X3)))))))))).
% 2.94/1.59  thf(fact_38_map__upd__Some__unfold, axiom, (! [B:$tType,A:$tType,M:(B > (option @ A)),A2:B,B2:A,X:B,Y:A]: (((((((((fun_upd @ B) @ (option @ A)) @ M) @ A2) @ ((some @ A) @ B2)) @ X) = ((some @ A) @ Y)) = (((X = A2) & (B2 = Y)) | ((X != A2) & ((M @ X) = ((some @ A) @ Y)))))))).
% 2.94/1.59  thf(fact_39_map__upd__triv, axiom, (! [A:$tType,B:$tType,T2:(B > (option @ A)),K:B,X:A]: ((((T2 @ K) = ((some @ A) @ X)) => ((((((fun_upd @ B) @ (option @ A)) @ T2) @ K) @ ((some @ A) @ X)) = T2))))).
% 2.94/1.59  thf(fact_40_old_Oprod_Orec, axiom, (! [A:$tType,T:$tType,B:$tType,F1:(A > (B > T)),A2:A,B2:B]: (((((((product_rec_prod @ A) @ B) @ T) @ F1) @ ((((product_Pair @ A) @ B) @ A2) @ B2)) = ((F1 @ A2) @ B2))))).
% 2.94/1.59  thf(fact_41_LID__local__store_Osimps, axiom, (! [V:$tType,R:$tType,L:$tType,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E5:(((expr @ R) @ L) @ V)]: ((((((lID_local_store @ L) @ R) @ V) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ E5))) = Tau2)))).
% 2.94/1.59  thf(fact_42_LID__local__store_Oelims, axiom, (! [V:$tType,R:$tType,L:$tType,X:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))),Y:(L > (option @ (((val @ R) @ L) @ V)))]: (((((((lID_local_store @ L) @ R) @ V) @ X) = Y) => (~ ((! [Sigma:(L > (option @ (((val @ R) @ L) @ V))),Tau:(L > (option @ (((val @ R) @ L) @ V)))]: (((? [E3:(((expr @ R) @ L) @ V)]: ((X = ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ E3))))) => (Y != Tau)))))))))).
% 2.94/1.59  thf(fact_43_LID__expression_Osimps, axiom, (! [V:$tType,L:$tType,R:$tType,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E5:(((expr @ R) @ L) @ V)]: ((((((lID_expression @ L) @ R) @ V) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ E5))) = E5)))).
% 2.94/1.59  thf(fact_44_LID__expression_Oelims, axiom, (! [V:$tType,L:$tType,R:$tType,X:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))),Y:(((expr @ R) @ L) @ V)]: (((((((lID_expression @ L) @ R) @ V) @ X) = Y) => (~ ((! [Sigma:(L > (option @ (((val @ R) @ L) @ V))),Tau:(L > (option @ (((val @ R) @ L) @ V))),E3:(((expr @ R) @ L) @ V)]: (((X = ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ E3))) => (Y != E3)))))))))).
% 2.94/1.59  thf(fact_45_mem__Collect__eq, axiom, (! [A:$tType,A2:A,P:(A > $o)]: (((((member @ A) @ A2) @ ((collect @ A) @ P)) = (P @ A2))))).
% 2.94/1.59  thf(fact_46_Collect__mem__eq, axiom, (! [A:$tType,A6:(set @ A)]: ((((collect @ A) @ (^ [X2:A]: ((((member @ A) @ X2) @ A6)))) = A6)))).
% 2.94/1.59  thf(fact_47_Collect__cong, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((! [X3:A]: (((P @ X3) = (Q @ X3)))) => (((collect @ A) @ P) = ((collect @ A) @ Q)))))).
% 2.94/1.59  thf(fact_48_ext, axiom, (! [B:$tType,A:$tType,F:(A > B),G:(A > B)]: (((! [X3:A]: (((F @ X3) = (G @ X3)))) => (F = G))))).
% 2.94/1.59  thf(fact_49_local_Ofork_I3_J, axiom, (~ ((((member @ r) @ r3) @ ((((rID_G @ r) @ l) @ v) @ s))))).
% 2.94/1.59  thf(fact_50_LID__snapshot_Osimps, axiom, (! [V:$tType,R:$tType,L:$tType,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E5:(((expr @ R) @ L) @ V)]: ((((((lID_snapshot @ L) @ R) @ V) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ E5))) = Sigma2)))).
% 2.94/1.59  thf(fact_51_LID__snapshot_Oelims, axiom, (! [V:$tType,R:$tType,L:$tType,X:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))),Y:(L > (option @ (((val @ R) @ L) @ V)))]: (((((((lID_snapshot @ L) @ R) @ V) @ X) = Y) => (~ ((! [Sigma:(L > (option @ (((val @ R) @ L) @ V)))]: (((? [Tau:(L > (option @ (((val @ R) @ L) @ V))),E3:(((expr @ R) @ L) @ V)]: ((X = ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ E3))))) => (Y != Sigma)))))))))).
% 2.94/1.59  thf(fact_52_internal__case__prod__conv, axiom, (! [B:$tType,A:$tType,C:$tType,C2:(B > (C > A)),A2:B,B2:C]: (((((((produc2004651681e_prod @ B) @ C) @ A) @ C2) @ ((((product_Pair @ B) @ C) @ A2) @ B2)) = ((C2 @ A2) @ B2))))).
% 2.94/1.59  thf(fact_53_map__comp__simps_I2_J, axiom, (! [B:$tType,C:$tType,A:$tType,M2:(B > (option @ A)),K:B,K2:A,M1:(A > (option @ C))]: ((((M2 @ K) = ((some @ A) @ K2)) => (((((((map_comp @ A) @ C) @ B) @ M1) @ M2) @ K) = (M1 @ K2)))))).
% 2.94/1.59  thf(fact_54_local_Ofork_I1_J, axiom, (s2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ s) @ r2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ sigma) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ tau) @ (((((plug @ r) @ l) @ v) @ e) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ r3)))))))) @ r3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ sigma) @ tau)) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (^ [X2:l]: ((none @ (((val @ r) @ l) @ v))))) @ e2)))))).
% 2.94/1.59  thf(fact_55_expr_Oinject_I1_J, axiom, (! [V:$tType,L:$tType,R:$tType,X1:(((val @ R) @ L) @ V),Y1:(((val @ R) @ L) @ V)]: (((((((ve @ R) @ L) @ V) @ X1) = ((((ve @ R) @ L) @ V) @ Y1)) = (X1 = Y1))))).
% 2.94/1.59  thf(fact_56_val_Oinject_I4_J, axiom, (! [V:$tType,L:$tType,R:$tType,X4:R,Y4:R]: (((((((rid @ R) @ L) @ V) @ X4) = ((((rid @ R) @ L) @ V) @ Y4)) = (X4 = Y4))))).
% 2.94/1.59  thf(fact_57_not__None__eq, axiom, (! [A:$tType,X:(option @ A)]: (((X != (none @ A)) = (? [Y2:A]: ((X = ((some @ A) @ Y2)))))))).
% 2.94/1.59  thf(fact_58_not__Some__eq, axiom, (! [A:$tType,X:(option @ A)]: (((! [Y2:A]: ((X != ((some @ A) @ Y2)))) = (X = (none @ A)))))).
% 2.94/1.59  thf(fact_59_empty__upd__none, axiom, (! [B:$tType,A:$tType,X:A]: (((((((fun_upd @ A) @ (option @ B)) @ (^ [X2:A]: ((none @ B)))) @ X) @ (none @ B)) = (^ [X2:A]: ((none @ B))))))).
% 2.94/1.59  thf(fact_60_map__comp__simps_I1_J, axiom, (! [B:$tType,A:$tType,C:$tType,M2:(B > (option @ A)),K:B,M1:(A > (option @ C))]: ((((M2 @ K) = (none @ A)) => (((((((map_comp @ A) @ C) @ B) @ M1) @ M2) @ K) = (none @ C)))))).
% 2.94/1.59  thf(fact_61_map__comp__empty_I2_J, axiom, (! [B:$tType,D2:$tType,C:$tType,M:(C > (option @ B))]: (((((((map_comp @ B) @ D2) @ C) @ (^ [X2:B]: ((none @ D2)))) @ M) = (^ [X2:C]: ((none @ D2))))))).
% 2.94/1.59  thf(fact_62_map__comp__empty_I1_J, axiom, (! [C:$tType,B:$tType,A:$tType,M:(C > (option @ B))]: (((((((map_comp @ C) @ B) @ A) @ M) @ (^ [X2:A]: ((none @ C)))) = (^ [X2:A]: ((none @ B))))))).
% 2.94/1.59  thf(fact_63_combine_Oelims, axiom, (! [B:$tType,A:$tType,X:(A > (option @ B)),Xa:(A > (option @ B)),Xb:A,Y:(option @ B)]: ((((((((combine @ A) @ B) @ X) @ Xa) @ Xb) = Y) => ((((Xa @ Xb) = (none @ B)) => (Y = (X @ Xb))) & (((Xa @ Xb) != (none @ B)) => (Y = (Xa @ Xb)))))))).
% 2.94/1.59  thf(fact_64_combine_Osimps, axiom, (! [B:$tType,A:$tType]: ((((combine @ A) @ B) = (^ [F2:(A > (option @ B)),G4:(A > (option @ B)),X2:A]: (((((if @ (option @ B)) @ ((G4 @ X2) = (none @ B))) @ (F2 @ X2)) @ (G4 @ X2)))))))).
% 2.94/1.59  thf(fact_65_map__comp__None__iff, axiom, (! [A:$tType,C:$tType,B:$tType,M1:(B > (option @ A)),M2:(C > (option @ B)),K:C]: (((((((((map_comp @ B) @ A) @ C) @ M1) @ M2) @ K) = (none @ A)) = (((M2 @ K) = (none @ B)) | (? [K3:B]: ((((M2 @ K) = ((some @ B) @ K3)) & ((M1 @ K3) = (none @ A)))))))))).
% 2.94/1.59  thf(fact_66_option_Odistinct_I1_J, axiom, (! [A:$tType,X22:A]: (((none @ A) != ((some @ A) @ X22))))).
% 2.94/1.59  thf(fact_67_option_OdiscI, axiom, (! [A:$tType,Option:(option @ A),X22:A]: (((Option = ((some @ A) @ X22)) => (Option != (none @ A)))))).
% 2.94/1.59  thf(fact_68_option_Oexhaust, axiom, (! [A:$tType,Y:(option @ A)]: (((Y != (none @ A)) => (~ ((! [X23:A]: ((Y != ((some @ A) @ X23)))))))))).
% 2.94/1.59  thf(fact_69_option_Oinducts, axiom, (! [A:$tType,P:((option @ A) > $o),Option:(option @ A)]: (((P @ (none @ A)) => ((! [X3:A]: ((P @ ((some @ A) @ X3)))) => (P @ Option)))))).
% 2.94/1.59  thf(fact_70_split__option__ex, axiom, (! [A:$tType]: (((^ [P3:((option @ A) > $o)]: ((? [X5:(option @ A)]: ((P3 @ X5))))) = (^ [P4:((option @ A) > $o)]: (((P4 @ (none @ A)) | (? [X2:A]: ((P4 @ ((some @ A) @ X2))))))))))).
% 2.94/1.59  thf(fact_71_split__option__all, axiom, (! [A:$tType]: (((^ [P3:((option @ A) > $o)]: ((! [X5:(option @ A)]: ((P3 @ X5))))) = (^ [P4:((option @ A) > $o)]: (((P4 @ (none @ A)) & (! [X2:A]: ((P4 @ ((some @ A) @ X2))))))))))).
% 2.94/1.59  thf(fact_72_combine__options__cases, axiom, (! [A:$tType,B:$tType,X:(option @ A),P:((option @ A) > ((option @ B) > $o)),Y:(option @ B)]: ((((X = (none @ A)) => ((P @ X) @ Y)) => (((Y = (none @ B)) => ((P @ X) @ Y)) => ((! [A4:A,B4:B]: (((X = ((some @ A) @ A4)) => ((Y = ((some @ B) @ B4)) => ((P @ X) @ Y))))) => ((P @ X) @ Y))))))).
% 2.94/1.59  thf(fact_73_expr_Odistinct_I11_J, axiom, (! [V:$tType,L:$tType,R:$tType,X1:(((val @ R) @ L) @ V),X7:(((expr @ R) @ L) @ V)]: ((((((ve @ R) @ L) @ V) @ X1) != ((((rfork @ R) @ L) @ V) @ X7))))).
% 2.94/1.59  thf(fact_74_map__upd__nonempty, axiom, (! [B:$tType,A:$tType,T2:(A > (option @ B)),K:A,X:B]: (((((((fun_upd @ A) @ (option @ B)) @ T2) @ K) @ ((some @ B) @ X)) != (^ [X2:A]: ((none @ B))))))).
% 2.94/1.59  thf(fact_75_map__comp__Some__iff, axiom, (! [A:$tType,C:$tType,B:$tType,M1:(B > (option @ A)),M2:(C > (option @ B)),K:C,V2:A]: (((((((((map_comp @ B) @ A) @ C) @ M1) @ M2) @ K) = ((some @ A) @ V2)) = (? [K3:B]: ((((M2 @ K) = ((some @ B) @ K3)) & ((M1 @ K3) = ((some @ A) @ V2))))))))).
% 2.94/1.59  thf(fact_76_restrictions__inwards, axiom, (! [A:$tType,B:$tType,X:A,X6:A,F:(A > (option @ B)),Y:B]: (((X != X6) => ((((((fun_upd @ A) @ (option @ B)) @ (((((fun_upd @ A) @ (option @ B)) @ F) @ X) @ ((some @ B) @ Y))) @ X6) @ (none @ B)) = (((((fun_upd @ A) @ (option @ B)) @ (((((fun_upd @ A) @ (option @ B)) @ F) @ X6) @ (none @ B))) @ X) @ ((some @ B) @ Y))))))).
% 2.94/1.59  thf(fact_77_RID_092_060_094sub_062GI_I1_J, axiom, (! [C:$tType,A:$tType,B:$tType,S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))),R2:B,V2:((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))]: ((((S @ R2) = ((some @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))) @ V2)) => (((member @ B) @ R2) @ ((((rID_G @ B) @ A) @ C) @ S)))))).
% 2.94/1.59  thf(fact_78_revision__step__relaxed_Ofork, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),E5:(((expr @ r) @ l) @ v),R3:r]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rfork @ r) @ l) @ v) @ E5)))))) => ((~ ((((member @ r) @ R3) @ ((((rID_G @ r) @ l) @ v) @ S)))) => (((((((revisi1433015572elaxed @ r) @ l) @ v) @ subst) @ R2) @ S) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R3)))))))) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (^ [X2:l]: ((none @ (((val @ r) @ l) @ v))))) @ E5)))))))))).
% 2.94/1.59  thf(fact_79_revision__step_Ofork, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),E5:(((expr @ r) @ l) @ v),R3:r]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rfork @ r) @ l) @ v) @ E5)))))) => ((~ ((((member @ r) @ R3) @ ((((rID_G @ r) @ l) @ v) @ S)))) => (((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R3)))))))) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (^ [X2:l]: ((none @ (((val @ r) @ l) @ v))))) @ E5)))))))))).
% 2.94/1.59  thf(fact_80__092_060alpha_062r_H__fresh, axiom, (~ ((((member @ r) @ (alpha @ r3)) @ ((((rID_G @ r) @ l) @ v) @ ((((((r_G @ r) @ l) @ v) @ alpha) @ beta) @ s)))))).
% 2.94/1.59  thf(fact_81_substitution_Orevision__step__relaxed_Ofork, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),E5:(((expr @ R) @ L) @ V),R3:R]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rfork @ R) @ L) @ V) @ E5)))))) => ((~ ((((member @ R) @ R3) @ ((((rID_G @ R) @ L) @ V) @ S)))) => (((((((revisi1433015572elaxed @ R) @ L) @ V) @ Subst) @ R2) @ S) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R3)))))))) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ (^ [X2:L]: ((none @ (((val @ R) @ L) @ V))))) @ E5))))))))))).
% 2.94/1.59  thf(fact_82_substitution_Ofork__pseudodeterministic, axiom, (! [L:$tType,V:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),E5:(((expr @ R) @ L) @ V),S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rfork @ R) @ L) @ V) @ E5)))))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) = (? [R4:R]: (((~ ((((member @ R) @ R4) @ ((((rID_G @ R) @ L) @ V) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rfork @ R) @ L) @ V) @ E5)))))))))) & (S2 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R4)))))))) @ R4) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ (^ [X2:L]: ((none @ (((val @ R) @ L) @ V))))) @ E5)))))))))))))).
% 2.94/1.59  thf(fact_83_local_Ostep, axiom, (((((((revision_step @ r) @ l) @ v) @ subst) @ r2) @ s) @ s2)).
% 2.94/1.59  thf(fact_84_substitution__axioms, axiom, ((((substitution @ r) @ l) @ v) @ subst)).
% 2.94/1.59  thf(fact_85_rename__empty_I2_J, axiom, (! [A:$tType,D2:$tType,B:$tType,Alpha2:(B > B),Beta2:(A > A)]: ((((((((r_G @ B) @ A) @ D2) @ Alpha2) @ Beta2) @ (^ [X2:B]: ((none @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ D2)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ D2)))) @ (((expr @ B) @ A) @ D2))))))) = (^ [X2:B]: ((none @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ D2)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ D2)))) @ (((expr @ B) @ A) @ D2)))))))))).
% 2.94/1.59  thf(fact_86_in__restricted__global__in__unrestricted__global_I1_J, axiom, (! [C:$tType,B:$tType,A:$tType,R3:A,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A]: (((((member @ A) @ R3) @ ((((rID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))))) => (((member @ A) @ R3) @ ((((rID_G @ A) @ B) @ C) @ S)))))).
% 2.94/1.59  thf(fact_87_only__fork__introduces__rids_H, axiom, (! [R2:r,S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R3:r]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) => ((! [Sigma:(l > (option @ (((val @ r) @ l) @ v))),Tau:(l > (option @ (((val @ r) @ l) @ v))),E6:(((cntxt @ r) @ l) @ v),E3:(((expr @ r) @ l) @ v)]: (((S @ R2) != ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau) @ (((((plug @ r) @ l) @ v) @ E6) @ ((((rfork @ r) @ l) @ v) @ E3)))))))) => ((~ ((((member @ r) @ R3) @ ((((rID_G @ r) @ l) @ v) @ S)))) => (~ ((((member @ r) @ R3) @ ((((rID_G @ r) @ l) @ v) @ S2)))))))))).
% 2.94/1.59  thf(fact_88_in__restricted__global__in__updated__global_I1_J, axiom, (! [C:$tType,A:$tType,B:$tType,R3:A,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A,Ls:((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))]: (((((member @ A) @ R3) @ ((((rID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))))) => (((member @ A) @ R3) @ ((((rID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ ((some @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))) @ Ls)))))))).
% 2.94/1.59  thf(fact_89_fork__pseudodeterministic, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),E5:(((expr @ r) @ l) @ v),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rfork @ r) @ l) @ v) @ E5)))))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) = (? [R4:r]: (((~ ((((member @ r) @ R4) @ ((((rID_G @ r) @ l) @ v) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rfork @ r) @ l) @ v) @ E5)))))))))) & (S2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R4)))))))) @ R4) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (^ [X2:l]: ((none @ (((val @ r) @ l) @ v))))) @ E5))))))))))))).
% 2.94/1.59  thf(fact_90_substitution_Orevision__step_Ocong, axiom, (! [V:$tType,L:$tType,R:$tType]: (((((revision_step @ R) @ L) @ V) = (((revision_step @ R) @ L) @ V))))).
% 2.94/1.59  thf(fact_91_substitution_Orevision__step__relaxed_Ocong, axiom, (! [V:$tType,L:$tType,R:$tType]: (((((revisi1433015572elaxed @ R) @ L) @ V) = (((revisi1433015572elaxed @ R) @ L) @ V))))).
% 2.94/1.59  thf(fact_92_substitution_Oonly__fork__introduces__rids_H, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),R2:R,S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R3:R]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) => ((! [Sigma:(L > (option @ (((val @ R) @ L) @ V))),Tau:(L > (option @ (((val @ R) @ L) @ V))),E6:(((cntxt @ R) @ L) @ V),E3:(((expr @ R) @ L) @ V)]: (((S @ R2) != ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ (((((plug @ R) @ L) @ V) @ E6) @ ((((rfork @ R) @ L) @ V) @ E3)))))))) => ((~ ((((member @ R) @ R3) @ ((((rID_G @ R) @ L) @ V) @ S)))) => (~ ((((member @ R) @ R3) @ ((((rID_G @ R) @ L) @ V) @ S2))))))))))).
% 2.94/1.59  thf(fact_93_substitution_Orevision__step_Ofork, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),E5:(((expr @ R) @ L) @ V),R3:R]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rfork @ R) @ L) @ V) @ E5)))))) => ((~ ((((member @ R) @ R3) @ ((((rID_G @ R) @ L) @ V) @ S)))) => (((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R3)))))))) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ (^ [X2:L]: ((none @ (((val @ R) @ L) @ V))))) @ E5))))))))))).
% 2.94/1.59  thf(fact_94_local__and__fork__commute, axiom, (! [S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_1:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,X:((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))),S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R3:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R5:r,E5:(((expr @ r) @ l) @ v)]: (((S_2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ X))) => ((S_22 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R5)))))))) @ R5) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (^ [X2:l]: ((none @ (((val @ r) @ l) @ v))))) @ E5))))) => (((S_2 @ R3) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rfork @ r) @ l) @ v) @ E5)))))) => ((~ ((((member @ r) @ R5) @ ((((rID_G @ r) @ l) @ v) @ S_2)))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R5)))))))) @ R5) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (^ [X2:l]: ((none @ (((val @ r) @ l) @ v))))) @ E5))))) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ X))) => ((R2 != R3) => ((R2 != R5) => (? [S_3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_32:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_3) @ S_32) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32)))))))))))))))).
% 2.94/1.59  thf(fact_95_revision__step__relaxed_Ojoin_092_060_094sub_062_092_060epsilon_062, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R3:r]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rjoin @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R3)))))))) => (((S @ R3) = (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) => (((((((revisi1433015572elaxed @ r) @ l) @ v) @ subst) @ R2) @ S) @ (^ [X2:r]: ((none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))))))))).
% 2.94/1.59  thf(fact_96_revision__step_Ojoin_092_060_094sub_062_092_060epsilon_062, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R3:r]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rjoin @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R3)))))))) => (((S @ R3) = (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) => (((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ (^ [X2:r]: ((none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))))))))).
% 2.94/1.59  thf(fact_97_substitution_Olocal__and__fork__commute, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_1:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,X:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))),S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R3:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R5:R,E5:(((expr @ R) @ L) @ V)]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((S_2 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ X))) => ((S_22 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R5)))))))) @ R5) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ (^ [X2:L]: ((none @ (((val @ R) @ L) @ V))))) @ E5))))) => (((S_2 @ R3) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rfork @ R) @ L) @ V) @ E5)))))) => ((~ ((((member @ R) @ R5) @ ((((rID_G @ R) @ L) @ V) @ S_2)))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R5)))))))) @ R5) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ (^ [X2:L]: ((none @ (((val @ R) @ L) @ V))))) @ E5))))) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ X))) => ((R2 != R3) => ((R2 != R5) => (? [S_3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_32:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_3) @ S_32) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32))))))))))))))))).
% 2.94/1.59  thf(fact_98_local__steps__commute, axiom, (! [S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_1:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,X:((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))),S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R3:r,Y:((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))]: (((S_2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ X))) => ((S_22 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ Y))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ X))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ X))) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ Y))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ Y))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ Y))) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ X))) => (? [S_3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_32:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_3) @ S_32) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32))))))))))))).
% 2.94/1.59  thf(fact_99_transition__relations__equivalent, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((reachable @ r) @ l) @ v) @ subst) @ S) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) = (((((((revisi1433015572elaxed @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2)))))).
% 2.94/1.59  thf(fact_100_local__determinism, axiom, (! [R2:r,S_1:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_1) @ S_2) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_1) @ S_22) => (((((eq_states @ r) @ l) @ v) @ S_2) @ S_22)))))).
% 2.94/1.59  thf(fact_101_SLC__sym, axiom, (! [R3:r,S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((? [S_33:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_34:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_33) @ S_34) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_33) | (S_2 = S_33)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_34) | (S_22 = S_34)))))) => (? [S_3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_32:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_3) @ S_32) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_3) | (S_22 = S_3)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_32) | (S_2 = S_32)))))))))).
% 2.94/1.59  thf(fact_102_SLC__commute, axiom, (! [S_35:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_36:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R3:r,S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((S_35 = S_36) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_35) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_36) => ((((((eq_states @ r) @ l) @ v) @ S_35) @ S_36) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_35) | (S_2 = S_35)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_36) | (S_22 = S_36)))))))))).
% 2.94/1.59  thf(fact_103_reachability__closed__under__execution__step, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((reachable @ r) @ l) @ v) @ subst) @ S) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) => (((((reachable @ r) @ l) @ v) @ subst) @ S2)))))).
% 2.94/1.59  thf(fact_104_expr_Oinject_I8_J, axiom, (! [V:$tType,L:$tType,R:$tType,X8:(((expr @ R) @ L) @ V),Y8:(((expr @ R) @ L) @ V)]: (((((((rjoin @ R) @ L) @ V) @ X8) = ((((rjoin @ R) @ L) @ V) @ Y8)) = (X8 = Y8))))).
% 2.94/1.59  thf(fact_105_SLC__join_092_060_094sub_062_092_060epsilon_062, axiom, (! [S_1:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R5:r,S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R3:r,S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((S_1 @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rjoin @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R5)))))))) => ((S_2 = (^ [X2:r]: ((none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))))) => (((S_1 @ R5) = (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_1) @ S_22) => ((R2 != R3) => (? [S_3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_32:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_3) @ S_32) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32)))))))))))))).
% 2.94/1.59  thf(fact_106_reachable__def, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((reachable @ r) @ l) @ v) @ subst) @ S) = (? [E7:(((expr @ r) @ l) @ v),S3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((((((execution @ r) @ l) @ v) @ subst) @ E7) @ S3) @ S))))))).
% 2.94/1.59  thf(fact_107_rjoin_092_060_094sub_062_092_060epsilon_062__deterministic, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R3:r,S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rjoin @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R3)))))))) => (((S @ R3) = (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) = (S2 = (^ [X2:r]: ((none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))))))))))).
% 2.94/1.59  thf(fact_108__092_060alpha_062_092_060beta_062__sym, axiom, (! [C:$tType,B:$tType,A:$tType,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),S2:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: (((((((eq_states @ A) @ B) @ C) @ S) @ S2) => (((((eq_states @ A) @ B) @ C) @ S2) @ S))))).
% 2.94/1.59  thf(fact_109__092_060alpha_062_092_060beta_062__refl, axiom, (! [C:$tType,B:$tType,A:$tType,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: ((((((eq_states @ A) @ B) @ C) @ S) @ S)))).
% 2.94/1.59  thf(fact_110__092_060alpha_062_092_060beta_062__trans, axiom, (! [C:$tType,B:$tType,A:$tType,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),S2:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),S4:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: (((((((eq_states @ A) @ B) @ C) @ S) @ S2) => ((((((eq_states @ A) @ B) @ C) @ S2) @ S4) => (((((eq_states @ A) @ B) @ C) @ S) @ S4)))))).
% 2.94/1.59  thf(fact_111_expr_Odistinct_I13_J, axiom, (! [V:$tType,L:$tType,R:$tType,X1:(((val @ R) @ L) @ V),X8:(((expr @ R) @ L) @ V)]: ((((((ve @ R) @ L) @ V) @ X1) != ((((rjoin @ R) @ L) @ V) @ X8))))).
% 2.94/1.59  thf(fact_112_expr_Odistinct_I55_J, axiom, (! [V:$tType,L:$tType,R:$tType,X7:(((expr @ R) @ L) @ V),X8:(((expr @ R) @ L) @ V)]: ((((((rfork @ R) @ L) @ V) @ X7) != ((((rjoin @ R) @ L) @ V) @ X8))))).
% 2.94/1.59  thf(fact_113_substitution_Olocal__determinism, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),R2:R,S_1:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_1) @ S_2) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_1) @ S_22) => (((((eq_states @ R) @ L) @ V) @ S_2) @ S_22))))))).
% 2.94/1.59  thf(fact_114_substitution_OSLC__commute, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S_35:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_36:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R3:R,S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((S_35 = S_36) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_35) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_36) => ((((((eq_states @ R) @ L) @ V) @ S_35) @ S_36) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_35) | (S_2 = S_35)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_36) | (S_22 = S_36))))))))))).
% 2.94/1.59  thf(fact_115_substitution_OSLC__sym, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),R3:R,S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((? [S_33:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_34:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_33) @ S_34) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_33) | (S_2 = S_33)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_34) | (S_22 = S_34)))))) => (? [S_3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_32:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_3) @ S_32) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_3) | (S_22 = S_3)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_32) | (S_2 = S_32))))))))))).
% 2.94/1.59  thf(fact_116_substitution_OSLC__join_092_060_094sub_062_092_060epsilon_062, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S_1:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R5:R,S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R3:R,S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S_1 @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rjoin @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R5)))))))) => ((S_2 = (^ [X2:R]: ((none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))))) => (((S_1 @ R5) = (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_1) @ S_22) => ((R2 != R3) => (? [S_3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_32:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_3) @ S_32) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32))))))))))))))).
% 2.94/1.59  thf(fact_117_substitution_Olocal__steps__commute, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_1:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,X:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))),S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R3:R,Y:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((S_2 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ X))) => ((S_22 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ Y))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ X))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ X))) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ Y))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ Y))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ Y))) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ X))) => (? [S_3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_32:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_3) @ S_32) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32)))))))))))))).
% 2.94/1.59  thf(fact_118_substitution_Orjoin_092_060_094sub_062_092_060epsilon_062__deterministic, axiom, (! [L:$tType,V:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R3:R,S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rjoin @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R3)))))))) => (((S @ R3) = (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) = (S2 = (^ [X2:R]: ((none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))))))))))).
% 2.94/1.59  thf(fact_119_substitution_Orevision__step_Ojoin_092_060_094sub_062_092_060epsilon_062, axiom, (! [L:$tType,V:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R3:R]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rjoin @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R3)))))))) => (((S @ R3) = (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) => (((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ (^ [X2:R]: ((none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))))))))))).
% 2.94/1.59  thf(fact_120_substitution_Orevision__step__relaxed_Ojoin_092_060_094sub_062_092_060epsilon_062, axiom, (! [L:$tType,V:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R3:R]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rjoin @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R3)))))))) => (((S @ R3) = (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) => (((((((revisi1433015572elaxed @ R) @ L) @ V) @ Subst) @ R2) @ S) @ (^ [X2:R]: ((none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))))))))))).
% 2.94/1.59  thf(fact_121_inductive__invariant__is__execution__invariant, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),P:((r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) > $o)]: (((((((reachable @ r) @ l) @ v) @ subst) @ S) => ((((((inductive_invariant @ r) @ l) @ v) @ subst) @ P) => (P @ S)))))).
% 2.94/1.59  thf(fact_122_reachable__imp___092_060S_062_092_060_094sub_062G, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((reachable @ r) @ l) @ v) @ subst) @ S) => ((((domain398919503obally @ r) @ l) @ v) @ S))))).
% 2.94/1.59  thf(fact_123_substitution_Otransition__relations__equivalent, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) = (((((((revisi1433015572elaxed @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2))))))).
% 2.94/1.59  thf(fact_124_SLC__fork, axiom, (! [S_1:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),E5:(((expr @ r) @ l) @ v),S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),Left_forkee:r,R3:r,S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((S_1 @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rfork @ r) @ l) @ v) @ E5)))))) => ((S_2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ Left_forkee)))))))) @ Left_forkee) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (^ [X2:l]: ((none @ (((val @ r) @ l) @ v))))) @ E5))))) => ((~ ((((member @ r) @ Left_forkee) @ ((((rID_G @ r) @ l) @ v) @ S_1)))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_1) @ S_22) => ((R2 != R3) => ((((((reachable @ r) @ l) @ v) @ subst) @ S_1) => ((~ (((finite_finite2 @ r) @ (top_top @ (set @ r))))) => (? [S_3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_32:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_3) @ S_32) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32)))))))))))))))).
% 2.94/1.59  thf(fact_125_join__and__local__commute, axiom, (! [S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_1:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),Tau3:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R5:r,S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R3:r,Ls:((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))),Sigma3:(l > (option @ (((val @ r) @ l) @ v))),V2:(((val @ r) @ l) @ v)]: (((S_2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Tau2) @ Tau3)) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((cv @ r) @ l) @ v) @ unit)))))))) @ R5) @ (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))) => ((S_22 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ Ls))) => ((R2 != R3) => ((R3 != R5) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Tau2) @ Tau3)) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((cv @ r) @ l) @ v) @ unit)))))))) @ R5) @ (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))) @ R3) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ Ls))) => (((S_22 @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rjoin @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R5)))))))) => (((S_22 @ R5) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma3) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau3) @ ((((ve @ r) @ l) @ v) @ V2))))) => (? [S_3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_32:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_3) @ S_32) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32)))))))))))))))).
% 2.94/1.59  thf(fact_126_empty__map__finite_I3_J, axiom, (! [H:$tType,I:$tType,G2:$tType]: (((finite_finite2 @ G2) @ ((((rID_G @ G2) @ H) @ I) @ (^ [X2:G2]: ((none @ ((product_prod @ (H > (option @ (((val @ G2) @ H) @ I)))) @ ((product_prod @ (H > (option @ (((val @ G2) @ H) @ I)))) @ (((expr @ G2) @ H) @ I))))))))))).
% 2.94/1.59  thf(fact_127_val_Oinject_I1_J, axiom, (! [V:$tType,L:$tType,R:$tType,X1:const,Y1:const]: (((((((cv @ R) @ L) @ V) @ X1) = ((((cv @ R) @ L) @ V) @ Y1)) = (X1 = Y1))))).
% 2.94/1.59  thf(fact_128_RID_092_060_094sub_062G__finite__invariant, axiom, (! [R2:r,S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) => (((finite_finite2 @ r) @ ((((rID_G @ r) @ l) @ v) @ S)) => ((finite_finite2 @ r) @ ((((rID_G @ r) @ l) @ v) @ S2))))))).
% 2.94/1.59  thf(fact_129_reachable__imp__identifiers__finite_I1_J, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((reachable @ r) @ l) @ v) @ subst) @ S) => ((finite_finite2 @ r) @ ((((rID_G @ r) @ l) @ v) @ S)))))).
% 2.94/1.59  thf(fact_130_reachable__imp__identifiers__available_I1_J, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((reachable @ r) @ l) @ v) @ subst) @ S) => ((~ (((finite_finite2 @ r) @ (top_top @ (set @ r))))) => (? [R6:r]: ((~ ((((member @ r) @ R6) @ ((((rID_G @ r) @ l) @ v) @ S))))))))))).
% 2.94/1.59  thf(fact_131_finite__option__UNIV, axiom, (! [A:$tType]: ((((finite_finite2 @ (option @ A)) @ (top_top @ (set @ (option @ A)))) = ((finite_finite2 @ A) @ (top_top @ (set @ A))))))).
% 2.94/1.59  thf(fact_132_domains__subsume__globally__def, axiom, ((((domain398919503obally @ r) @ l) @ v) = (^ [S5:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((! [R7:r,Ls2:((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))]: ((((S5 @ R7) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ Ls2)) => ((((domains_subsume @ l) @ r) @ v) @ Ls2)))))))).
% 2.94/1.59  thf(fact_133_finite__state__imp__restriction__finite_I1_J, axiom, (! [C:$tType,A:$tType,B:$tType,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A]: ((((finite_finite2 @ A) @ ((((rID_G @ A) @ B) @ C) @ S)) => ((finite_finite2 @ A) @ ((((rID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))))))))).
% 2.94/1.59  thf(fact_134_revision__step_Ojoin, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R3:r,Sigma3:(l > (option @ (((val @ r) @ l) @ v))),Tau3:(l > (option @ (((val @ r) @ l) @ v))),V2:(((val @ r) @ l) @ v)]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rjoin @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R3)))))))) => (((S @ R3) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma3) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau3) @ ((((ve @ r) @ l) @ v) @ V2))))) => (((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Tau2) @ Tau3)) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((cv @ r) @ l) @ v) @ unit)))))))) @ R3) @ (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))))))))).
% 2.94/1.59  thf(fact_135_revision__step__relaxed_Ojoin, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R3:r,Sigma3:(l > (option @ (((val @ r) @ l) @ v))),Tau3:(l > (option @ (((val @ r) @ l) @ v))),V2:(((val @ r) @ l) @ v)]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rjoin @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R3)))))))) => (((S @ R3) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma3) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau3) @ ((((ve @ r) @ l) @ v) @ V2))))) => (((((((revisi1433015572elaxed @ r) @ l) @ v) @ subst) @ R2) @ S) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Tau2) @ Tau3)) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((cv @ r) @ l) @ v) @ unit)))))))) @ R3) @ (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))))))))).
% 2.94/1.59  thf(fact_136_SLC__join, axiom, (! [S_1:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R5:r,S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),Tau3:(l > (option @ (((val @ r) @ l) @ v))),Sigma3:(l > (option @ (((val @ r) @ l) @ v))),V2:(((val @ r) @ l) @ v),R3:r,S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((S_1 @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rjoin @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R5)))))))) => ((S_2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Tau2) @ Tau3)) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((cv @ r) @ l) @ v) @ unit)))))))) @ R5) @ (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))) => (((S_1 @ R5) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma3) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau3) @ ((((ve @ r) @ l) @ v) @ V2))))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_1) @ S_22) => ((R2 != R3) => (? [S_3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_32:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_3) @ S_32) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32)))))))))))))).
% 2.94/1.59  thf(fact_137_bij___092_060alpha_062, axiom, (((((bij_betw @ r) @ r) @ alpha) @ (top_top @ (set @ r))) @ (top_top @ (set @ r)))).
% 2.94/1.59  thf(fact_138_rjoin__deterministic, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),R3:r,Sigma3:(l > (option @ (((val @ r) @ l) @ v))),Tau3:(l > (option @ (((val @ r) @ l) @ v))),V2:(((val @ r) @ l) @ v),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((rjoin @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ ((((rid @ r) @ l) @ v) @ R3)))))))) => (((S @ R3) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma3) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau3) @ ((((ve @ r) @ l) @ v) @ V2))))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) = (S2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ ((((combine @ l) @ (((val @ r) @ l) @ v)) @ Tau2) @ Tau3)) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((cv @ r) @ l) @ v) @ unit)))))))) @ R3) @ (none @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))))))))).
% 2.94/1.59  thf(fact_139_substitution_Oexecution_Ocong, axiom, (! [V:$tType,L:$tType,R:$tType]: (((((execution @ R) @ L) @ V) = (((execution @ R) @ L) @ V))))).
% 2.94/1.59  thf(fact_140_substitution_Oinductive__invariant_Ocong, axiom, (! [V:$tType,L:$tType,R:$tType]: (((((inductive_invariant @ R) @ L) @ V) = (((inductive_invariant @ R) @ L) @ V))))).
% 2.94/1.59  thf(fact_141_val_Odistinct_I5_J, axiom, (! [L:$tType,V:$tType,R:$tType,X1:const,X4:R]: ((((((cv @ R) @ L) @ V) @ X1) != ((((rid @ R) @ L) @ V) @ X4))))).
% 2.94/1.59  thf(fact_142_substitution_Oreachable__imp__identifiers__available_I1_J, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S) => ((~ (((finite_finite2 @ R) @ (top_top @ (set @ R))))) => (? [R6:R]: ((~ ((((member @ R) @ R6) @ ((((rID_G @ R) @ L) @ V) @ S)))))))))))).
% 2.94/1.59  thf(fact_143_substitution_Ostrong__local__confluence, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),R2:R,S_1:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R3:R,S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_1) @ S_2) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_1) @ S_22) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S_1) => ((~ (((finite_finite2 @ L) @ (top_top @ (set @ L))))) => ((~ (((finite_finite2 @ R) @ (top_top @ (set @ R))))) => (? [S_3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_32:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_3) @ S_32) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32))))))))))))))).
% 2.94/1.59  thf(fact_144_substitution_ORID_092_060_094sub_062G__finite__invariant, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),R2:R,S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) => (((finite_finite2 @ R) @ ((((rID_G @ R) @ L) @ V) @ S)) => ((finite_finite2 @ R) @ ((((rID_G @ R) @ L) @ V) @ S2)))))))).
% 2.94/1.59  thf(fact_145_substitution_Oreachable__imp__identifiers__finite_I1_J, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S) => ((finite_finite2 @ R) @ ((((rID_G @ R) @ L) @ V) @ S))))))).
% 2.94/1.59  thf(fact_146_substitution_Oreachable__imp___092_060S_062_092_060_094sub_062G, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S) => ((((domain398919503obally @ R) @ L) @ V) @ S)))))).
% 2.94/1.59  thf(fact_147_substitution_Oinductive__invariant__is__execution__invariant, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),P:((R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) > $o)]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S) => ((((((inductive_invariant @ R) @ L) @ V) @ Subst) @ P) => (P @ S))))))).
% 2.94/1.59  thf(fact_148_substitution_Oempty__map__finite_I3_J, axiom, (! [R:$tType,L:$tType,V:$tType,H:$tType,I:$tType,G2:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((finite_finite2 @ G2) @ ((((rID_G @ G2) @ H) @ I) @ (^ [X2:G2]: ((none @ ((product_prod @ (H > (option @ (((val @ G2) @ H) @ I)))) @ ((product_prod @ (H > (option @ (((val @ G2) @ H) @ I)))) @ (((expr @ G2) @ H) @ I)))))))))))).
% 2.94/1.59  thf(fact_149_substitution_Oreachable__def, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S) = (? [E7:(((expr @ R) @ L) @ V),S3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((((execution @ R) @ L) @ V) @ Subst) @ E7) @ S3) @ S)))))))).
% 2.94/1.59  thf(fact_150_substitution_Ofinite__state__imp__restriction__finite_I1_J, axiom, (! [V:$tType,L:$tType,R:$tType,C:$tType,A:$tType,B:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((finite_finite2 @ A) @ ((((rID_G @ A) @ B) @ C) @ S)) => ((finite_finite2 @ A) @ ((((rID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))))))))).
% 2.94/1.59  thf(fact_151_substitution_Oreachable_Ocong, axiom, (! [V:$tType,L:$tType,R:$tType]: (((((reachable @ R) @ L) @ V) = (((reachable @ R) @ L) @ V))))).
% 2.94/1.59  thf(fact_152_substitution_Orevision__step_Ojoin, axiom, (! [V:$tType,R:$tType,L:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R3:R,Sigma3:(L > (option @ (((val @ R) @ L) @ V))),Tau3:(L > (option @ (((val @ R) @ L) @ V))),V2:(((val @ R) @ L) @ V)]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rjoin @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R3)))))))) => (((S @ R3) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma3) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau3) @ ((((ve @ R) @ L) @ V) @ V2))))) => (((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Tau2) @ Tau3)) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((cv @ R) @ L) @ V) @ unit)))))))) @ R3) @ (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))))))))).
% 2.94/1.59  thf(fact_153_substitution_Orjoin__deterministic, axiom, (! [V:$tType,R:$tType,L:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R3:R,Sigma3:(L > (option @ (((val @ R) @ L) @ V))),Tau3:(L > (option @ (((val @ R) @ L) @ V))),V2:(((val @ R) @ L) @ V),S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rjoin @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R3)))))))) => (((S @ R3) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma3) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau3) @ ((((ve @ R) @ L) @ V) @ V2))))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) = (S2 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Tau2) @ Tau3)) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((cv @ R) @ L) @ V) @ unit)))))))) @ R3) @ (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))))))))))).
% 2.94/1.59  thf(fact_154_substitution_Orevision__step__relaxed_Ojoin, axiom, (! [V:$tType,R:$tType,L:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R3:R,Sigma3:(L > (option @ (((val @ R) @ L) @ V))),Tau3:(L > (option @ (((val @ R) @ L) @ V))),V2:(((val @ R) @ L) @ V)]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rjoin @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R3)))))))) => (((S @ R3) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma3) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau3) @ ((((ve @ R) @ L) @ V) @ V2))))) => (((((((revisi1433015572elaxed @ R) @ L) @ V) @ Subst) @ R2) @ S) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Tau2) @ Tau3)) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((cv @ R) @ L) @ V) @ unit)))))))) @ R3) @ (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))))))))).
% 2.94/1.59  thf(fact_155_substitution_Ojoin__and__local__commute, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_1:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),Tau3:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R5:R,S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R3:R,Ls:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))),Sigma3:(L > (option @ (((val @ R) @ L) @ V))),V2:(((val @ R) @ L) @ V)]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((S_2 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Tau2) @ Tau3)) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((cv @ R) @ L) @ V) @ unit)))))))) @ R5) @ (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))) => ((S_22 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ Ls))) => ((R2 != R3) => ((R3 != R5) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Tau2) @ Tau3)) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((cv @ R) @ L) @ V) @ unit)))))))) @ R5) @ (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))) @ R3) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ Ls))) => (((S_22 @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rjoin @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R5)))))))) => (((S_22 @ R5) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma3) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau3) @ ((((ve @ R) @ L) @ V) @ V2))))) => (? [S_3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_32:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_3) @ S_32) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32))))))))))))))))).
% 2.94/1.59  thf(fact_156_substitution_OSLC__join, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S_1:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),R5:R,S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),Tau3:(L > (option @ (((val @ R) @ L) @ V))),Sigma3:(L > (option @ (((val @ R) @ L) @ V))),V2:(((val @ R) @ L) @ V),R3:R,S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S_1 @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rjoin @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ R5)))))))) => ((S_2 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Tau2) @ Tau3)) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((cv @ R) @ L) @ V) @ unit)))))))) @ R5) @ (none @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))) => (((S_1 @ R5) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma3) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau3) @ ((((ve @ R) @ L) @ V) @ V2))))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_1) @ S_22) => ((R2 != R3) => (? [S_3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_32:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_3) @ S_32) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32))))))))))))))).
% 2.94/1.59  thf(fact_157_substitution_OSLC__fork, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S_1:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),E5:(((expr @ R) @ L) @ V),S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),Left_forkee:R,R3:R,S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S_1 @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((rfork @ R) @ L) @ V) @ E5)))))) => ((S_2 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((rid @ R) @ L) @ V) @ Left_forkee)))))))) @ Left_forkee) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ ((((combine @ L) @ (((val @ R) @ L) @ V)) @ Sigma2) @ Tau2)) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ (^ [X2:L]: ((none @ (((val @ R) @ L) @ V))))) @ E5))))) => ((~ ((((member @ R) @ Left_forkee) @ ((((rID_G @ R) @ L) @ V) @ S_1)))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_1) @ S_22) => ((R2 != R3) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S_1) => ((~ (((finite_finite2 @ R) @ (top_top @ (set @ R))))) => (? [S_3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_32:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_3) @ S_32) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32))))))))))))))))).
% 2.94/1.59  thf(fact_158_substitution_Oreachability__closed__under__execution__step, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) => (((((reachable @ R) @ L) @ V) @ Subst) @ S2))))))).
% 2.94/1.59  thf(fact_159_nice__ind__inv__is__inductive__invariant, axiom, (((((inductive_invariant @ r) @ l) @ v) @ subst) @ (^ [S5:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((((domain398919503obally @ r) @ l) @ v) @ S5) & ((((subsum380726323obally @ r) @ l) @ v) @ S5)))))).
% 2.94/1.59  thf(fact_160_step__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I2_J, axiom, (! [R2:r,S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) => (((((domain398919503obally @ r) @ l) @ v) @ S) => (((((subsum380726323obally @ r) @ l) @ v) @ S) => ((((subsum380726323obally @ r) @ l) @ v) @ S2))))))).
% 2.94/1.59  thf(fact_161_step__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I1_J, axiom, (! [R2:r,S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) => (((((domain398919503obally @ r) @ l) @ v) @ S) => (((((subsum380726323obally @ r) @ l) @ v) @ S) => ((((domain398919503obally @ r) @ l) @ v) @ S2))))))).
% 2.94/1.59  thf(fact_162_finite__Collect__not, axiom, (! [A:$tType,P:(A > $o)]: ((((finite_finite2 @ A) @ ((collect @ A) @ P)) => (((finite_finite2 @ A) @ ((collect @ A) @ (^ [X2:A]: ((~ ((P @ X2))))))) = ((finite_finite2 @ A) @ (top_top @ (set @ A)))))))).
% 2.94/1.59  thf(fact_163_in__renamed__in__unlabelled__global_I1_J, axiom, (! [C:$tType,B:$tType,A:$tType,Alpha2:(A > A),Beta2:(B > B),R2:A,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: (((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((((((bij_betw @ B) @ B) @ Beta2) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))) => ((((member @ A) @ (Alpha2 @ R2)) @ ((((rID_G @ A) @ B) @ C) @ ((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S))) = (((member @ A) @ R2) @ ((((rID_G @ A) @ B) @ C) @ S)))))))).
% 2.94/1.59  thf(fact_164_finite__code, axiom, (! [A:$tType]: (((finite_finite @ A) => ((finite_finite2 @ A) = (^ [A7:(set @ A)]: ($true))))))).
% 2.94/1.59  thf(fact_165_finite__Collect__conjI, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((((finite_finite2 @ A) @ ((collect @ A) @ P)) | ((finite_finite2 @ A) @ ((collect @ A) @ Q))) => ((finite_finite2 @ A) @ ((collect @ A) @ (^ [X2:A]: (((P @ X2) & (Q @ X2)))))))))).
% 2.94/1.59  thf(fact_166_finite__Collect__disjI, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: ((((finite_finite2 @ A) @ ((collect @ A) @ (^ [X2:A]: (((P @ X2) | (Q @ X2)))))) = (((finite_finite2 @ A) @ ((collect @ A) @ P)) & ((finite_finite2 @ A) @ ((collect @ A) @ Q))))))).
% 2.94/1.59  thf(fact_167_strong__local__confluence, axiom, (! [R2:r,S_1:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R3:r,S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_1) @ S_2) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_1) @ S_22) => ((((((reachable @ r) @ l) @ v) @ subst) @ S_1) => ((~ (((finite_finite2 @ l) @ (top_top @ (set @ l))))) => ((~ (((finite_finite2 @ r) @ (top_top @ (set @ r))))) => (? [S_3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_32:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_3) @ S_32) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32)))))))))))))).
% 2.94/1.59  thf(fact_168_finite__Plus__UNIV__iff, axiom, (! [A:$tType,B:$tType]: ((((finite_finite2 @ ((sum_sum @ A) @ B)) @ (top_top @ (set @ ((sum_sum @ A) @ B)))) = (((finite_finite2 @ A) @ (top_top @ (set @ A))) & ((finite_finite2 @ B) @ (top_top @ (set @ B)))))))).
% 2.94/1.59  thf(fact_169_eq__statesI, axiom, (! [C:$tType,B:$tType,A:$tType,Alpha2:(A > A),Beta2:(B > B),S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),S2:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: (((((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S) = S2) => ((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((((((bij_betw @ B) @ B) @ Beta2) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))) => (((((eq_states @ A) @ B) @ C) @ S) @ S2))))))).
% 2.94/1.59  thf(fact_170_renaming__distr__global_I2_J, axiom, (! [C:$tType,A:$tType,B:$tType,Alpha2:(A > A),Beta2:(B > B),S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A]: (((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => (((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))) = (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ ((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S)) @ (Alpha2 @ R2)) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))))))).
% 2.94/1.59  thf(fact_171_domains__subsume__globallyI, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((! [R6:r,Sigma:(l > (option @ (((val @ r) @ l) @ v))),Tau:(l > (option @ (((val @ r) @ l) @ v))),E3:(((expr @ r) @ l) @ v)]: ((((S @ R6) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau) @ E3)))) => ((((domains_subsume @ l) @ r) @ v) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau) @ E3)))))) => ((((domain398919503obally @ r) @ l) @ v) @ S))))).
% 2.94/1.59  thf(fact_172_bij___092_060beta_062, axiom, (((((bij_betw @ l) @ l) @ beta) @ (top_top @ (set @ l))) @ (top_top @ (set @ l)))).
% 2.94/1.59  thf(fact_173_bij__betw__finite, axiom, (! [A:$tType,B:$tType,F:(A > B),A6:(set @ A),B6:(set @ B)]: (((((((bij_betw @ A) @ B) @ F) @ A6) @ B6) => (((finite_finite2 @ A) @ A6) = ((finite_finite2 @ B) @ B6)))))).
% 2.94/1.59  thf(fact_174_bij__pointE, axiom, (! [B:$tType,A:$tType,F:(A > B),Y:B]: (((((((bij_betw @ A) @ B) @ F) @ (top_top @ (set @ A))) @ (top_top @ (set @ B))) => (~ ((! [X3:A]: (((Y = (F @ X3)) => (~ ((! [X9:A]: (((Y = (F @ X9)) => (X9 = X3))))))))))))))).
% 2.94/1.59  thf(fact_175_bij__betwE, axiom, (! [A:$tType,B:$tType,F:(A > B),A6:(set @ A),B6:(set @ B)]: (((((((bij_betw @ A) @ B) @ F) @ A6) @ B6) => (! [X10:A]: (((((member @ A) @ X10) @ A6) => (((member @ B) @ (F @ X10)) @ B6)))))))).
% 2.94/1.59  thf(fact_176_bij__betw__inv, axiom, (! [B:$tType,A:$tType,F:(A > B),A6:(set @ A),B6:(set @ B)]: (((((((bij_betw @ A) @ B) @ F) @ A6) @ B6) => (? [G3:(B > A)]: ((((((bij_betw @ B) @ A) @ G3) @ B6) @ A6))))))).
% 2.94/1.59  thf(fact_177_bij__betw__cong, axiom, (! [A:$tType,B:$tType,A6:(set @ A),F:(A > B),G:(A > B),A8:(set @ B)]: (((! [A4:A]: (((((member @ A) @ A4) @ A6) => ((F @ A4) = (G @ A4))))) => ((((((bij_betw @ A) @ B) @ F) @ A6) @ A8) = (((((bij_betw @ A) @ B) @ G) @ A6) @ A8)))))).
% 2.94/1.59  thf(fact_178_bij__betw__apply, axiom, (! [A:$tType,B:$tType,F:(A > B),A6:(set @ A),B6:(set @ B),A2:A]: (((((((bij_betw @ A) @ B) @ F) @ A6) @ B6) => ((((member @ A) @ A2) @ A6) => (((member @ B) @ (F @ A2)) @ B6)))))).
% 2.94/1.59  thf(fact_179_bij__betw__iff__bijections, axiom, (! [B:$tType,A:$tType]: ((((bij_betw @ A) @ B) = (^ [F2:(A > B),A7:(set @ A),B7:(set @ B)]: ((? [G4:(B > A)]: (((! [X2:A]: (((((member @ A) @ X2) @ A7) => ((((member @ B) @ (F2 @ X2)) @ B7) & ((G4 @ (F2 @ X2)) = X2))))) & (! [X2:B]: (((((member @ B) @ X2) @ B7) => ((((member @ A) @ (G4 @ X2)) @ A7) & ((F2 @ (G4 @ X2)) = X2)))))))))))))).
% 2.94/1.59  thf(fact_180_eq__statesE, axiom, (! [A:$tType,C:$tType,B:$tType,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),S2:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: (((((((eq_states @ A) @ B) @ C) @ S) @ S2) => (~ ((! [Alpha:(A > A),Beta:(B > B)]: (((((((((r_G @ A) @ B) @ C) @ Alpha) @ Beta) @ S) = S2) => ((((((bij_betw @ A) @ A) @ Alpha) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => (~ ((((((bij_betw @ B) @ B) @ Beta) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))))))))))))))).
% 2.94/1.59  thf(fact_181_eq__states__def, axiom, (! [V:$tType,L:$tType,R:$tType]: (((((eq_states @ R) @ L) @ V) = (^ [S5:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((? [Alpha3:(R > R),Beta3:(L > L)]: (((((((bij_betw @ R) @ R) @ Alpha3) @ (top_top @ (set @ R))) @ (top_top @ (set @ R))) & ((((((bij_betw @ L) @ L) @ Beta3) @ (top_top @ (set @ L))) @ (top_top @ (set @ L))) & (((((((r_G @ R) @ L) @ V) @ Alpha3) @ Beta3) @ S5) = S3))))))))))).
% 2.94/1.59  thf(fact_182_finite, axiom, (! [A:$tType]: (((finite_finite @ A) => (! [A6:(set @ A)]: (((finite_finite2 @ A) @ A6))))))).
% 2.94/1.59  thf(fact_183_finite__set__choice, axiom, (! [B:$tType,A:$tType,A6:(set @ A),P:(A > (B > $o))]: ((((finite_finite2 @ A) @ A6) => ((! [X3:A]: (((((member @ A) @ X3) @ A6) => (? [X_1:B]: (((P @ X3) @ X_1)))))) => (? [F4:(A > B)]: ((! [X10:A]: (((((member @ A) @ X10) @ A6) => ((P @ X10) @ (F4 @ X10)))))))))))).
% 2.94/1.59  thf(fact_184_substitution_Oin__renamed__in__unlabelled__global_I1_J, axiom, (! [R:$tType,L:$tType,V:$tType,C:$tType,B:$tType,A:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),Alpha2:(A > A),Beta2:(B > B),R2:A,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((((((bij_betw @ B) @ B) @ Beta2) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))) => ((((member @ A) @ (Alpha2 @ R2)) @ ((((rID_G @ A) @ B) @ C) @ ((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S))) = (((member @ A) @ R2) @ ((((rID_G @ A) @ B) @ C) @ S))))))))).
% 2.94/1.59  thf(fact_185_not__finite__existsD, axiom, (! [A:$tType,P:(A > $o)]: (((~ (((finite_finite2 @ A) @ ((collect @ A) @ P)))) => (? [X_12:A]: ((P @ X_12))))))).
% 2.94/1.59  thf(fact_186_pigeonhole__infinite__rel, axiom, (! [B:$tType,A:$tType,A6:(set @ A),B6:(set @ B),R8:(A > (B > $o))]: (((~ (((finite_finite2 @ A) @ A6))) => (((finite_finite2 @ B) @ B6) => ((! [X3:A]: (((((member @ A) @ X3) @ A6) => (? [Xa2:B]: (((((member @ B) @ Xa2) @ B6) & ((R8 @ X3) @ Xa2))))))) => (? [X3:B]: (((((member @ B) @ X3) @ B6) & (~ (((finite_finite2 @ A) @ ((collect @ A) @ (^ [A5:A]: (((((member @ A) @ A5) @ A6) & ((R8 @ A5) @ X3))))))))))))))))).
% 2.94/1.59  thf(fact_187_finite__UNIV, axiom, (! [A:$tType]: (((finite_finite @ A) => ((finite_finite2 @ A) @ (top_top @ (set @ A))))))).
% 2.94/1.59  thf(fact_188_infinite__UNIV__char__0, axiom, (! [A:$tType]: (((semiring_char_0 @ A) => (~ (((finite_finite2 @ A) @ (top_top @ (set @ A))))))))).
% 2.94/1.59  thf(fact_189_finite__fun__UNIVD2, axiom, (! [A:$tType,B:$tType]: ((((finite_finite2 @ (A > B)) @ (top_top @ (set @ (A > B)))) => ((finite_finite2 @ B) @ (top_top @ (set @ B))))))).
% 2.94/1.59  thf(fact_190_finite__Prod__UNIV, axiom, (! [B:$tType,A:$tType]: ((((finite_finite2 @ A) @ (top_top @ (set @ A))) => (((finite_finite2 @ B) @ (top_top @ (set @ B))) => ((finite_finite2 @ ((product_prod @ A) @ B)) @ (top_top @ (set @ ((product_prod @ A) @ B))))))))).
% 2.94/1.59  thf(fact_191_ex__new__if__finite, axiom, (! [A:$tType,A6:(set @ A)]: (((~ (((finite_finite2 @ A) @ (top_top @ (set @ A))))) => (((finite_finite2 @ A) @ A6) => (? [A4:A]: ((~ ((((member @ A) @ A4) @ A6)))))))))).
% 2.94/1.59  thf(fact_192_finite__prod, axiom, (! [A:$tType,B:$tType]: ((((finite_finite2 @ ((product_prod @ A) @ B)) @ (top_top @ (set @ ((product_prod @ A) @ B)))) = (((finite_finite2 @ A) @ (top_top @ (set @ A))) & ((finite_finite2 @ B) @ (top_top @ (set @ B)))))))).
% 2.94/1.59  thf(fact_193_Finite__Set_Ofinite__set, axiom, (! [A:$tType]: ((((finite_finite2 @ (set @ A)) @ (top_top @ (set @ (set @ A)))) = ((finite_finite2 @ A) @ (top_top @ (set @ A))))))).
% 2.94/1.59  thf(fact_194_substitution_Ostep__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I1_J, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),R2:R,S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) => (((((domain398919503obally @ R) @ L) @ V) @ S) => (((((subsum380726323obally @ R) @ L) @ V) @ S) => ((((domain398919503obally @ R) @ L) @ V) @ S2)))))))).
% 2.94/1.59  thf(fact_195_substitution_Ostep__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I2_J, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),R2:R,S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) => (((((domain398919503obally @ R) @ L) @ V) @ S) => (((((subsum380726323obally @ R) @ L) @ V) @ S) => ((((subsum380726323obally @ R) @ L) @ V) @ S2)))))))).
% 2.94/1.59  thf(fact_196_finite__update__induct, axiom, (! [B:$tType,A:$tType,F:(A > B),C2:B,P:((A > B) > $o)]: ((((finite_finite2 @ A) @ ((collect @ A) @ (^ [A5:A]: (((F @ A5) != C2))))) => ((P @ (^ [A5:A]: (C2))) => ((! [A4:A,B4:B,F4:(A > B)]: ((((finite_finite2 @ A) @ ((collect @ A) @ (^ [C4:A]: (((F4 @ C4) != C2))))) => (((F4 @ A4) = C2) => ((B4 != C2) => ((P @ F4) => (P @ (((((fun_upd @ A) @ B) @ F4) @ A4) @ B4)))))))) => (P @ F))))))).
% 2.94/1.59  thf(fact_197_substitution_Onice__ind__inv__is__inductive__invariant, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((((inductive_invariant @ R) @ L) @ V) @ Subst) @ (^ [S5:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((domain398919503obally @ R) @ L) @ V) @ S5) & ((((subsum380726323obally @ R) @ L) @ V) @ S5))))))))).
% 2.94/1.59  thf(fact_198_substitution_Odomains__subsume__globally__def, axiom, (! [L:$tType,V:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((((domain398919503obally @ R) @ L) @ V) @ S) = (! [R7:R,Ls2:((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))]: ((((S @ R7) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ Ls2)) => ((((domains_subsume @ L) @ R) @ V) @ Ls2))))))))).
% 2.94/1.59  thf(fact_199_substitution_Odomains__subsume__globallyI, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((! [R6:R,Sigma:(L > (option @ (((val @ R) @ L) @ V))),Tau:(L > (option @ (((val @ R) @ L) @ V))),E3:(((expr @ R) @ L) @ V)]: ((((S @ R6) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ E3)))) => ((((domains_subsume @ L) @ R) @ V) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ E3)))))) => ((((domain398919503obally @ R) @ L) @ V) @ S)))))).
% 2.94/1.59  thf(fact_200__092_060R_062_092_060_094sub_062GI, axiom, (! [C:$tType,B:$tType,A:$tType,Alpha2:(A > A),S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),S2:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),Beta2:(B > B)]: (((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((! [R6:A]: ((((S @ R6) = (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) => ((S2 @ (Alpha2 @ R6)) = (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))))) => ((! [R6:A,Sigma:(B > (option @ (((val @ A) @ B) @ C))),Tau:(B > (option @ (((val @ A) @ B) @ C))),E3:(((expr @ A) @ B) @ C)]: ((((S @ R6) = ((some @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))) @ ((((product_Pair @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))) @ Sigma) @ ((((product_Pair @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)) @ Tau) @ E3)))) => ((S2 @ (Alpha2 @ R6)) = ((some @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))) @ ((((((r_L @ A) @ B) @ C) @ Alpha2) @ Beta2) @ ((((product_Pair @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))) @ Sigma) @ ((((product_Pair @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)) @ Tau) @ E3)))))))) => (((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S) = S2))))))).
% 2.94/1.59  thf(fact_201_substitution_Osubsumes__accessible__globallyI, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((! [R_1:R,Sigma_1:(L > (option @ (((val @ R) @ L) @ V))),Tau_1:(L > (option @ (((val @ R) @ L) @ V))),E_1:(((expr @ R) @ L) @ V),R_2:R,Sigma_2:(L > (option @ (((val @ R) @ L) @ V))),Tau_2:(L > (option @ (((val @ R) @ L) @ V))),E_2:(((expr @ R) @ L) @ V)]: ((((S @ R_1) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma_1) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau_1) @ E_1)))) => (((S @ R_2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma_2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau_2) @ E_2)))) => ((((((subsumes_accessible @ R) @ L) @ V) @ R_1) @ R_2) @ S))))) => ((((subsum380726323obally @ R) @ L) @ V) @ S)))))).
% 2.94/1.59  thf(fact_202__092_060R_062_092_060_094sub_062G__implements__renaming, axiom, (! [C:$tType,B:$tType,A:$tType,Alpha2:(A > A),Beta2:(B > B),S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: (((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => (((((((is_global_renaming @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S) @ ((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S)))))).
% 2.94/1.59  thf(fact_203_subsumes__accessible__globallyI, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((! [R_1:r,Sigma_1:(l > (option @ (((val @ r) @ l) @ v))),Tau_1:(l > (option @ (((val @ r) @ l) @ v))),E_1:(((expr @ r) @ l) @ v),R_2:r,Sigma_2:(l > (option @ (((val @ r) @ l) @ v))),Tau_2:(l > (option @ (((val @ r) @ l) @ v))),E_2:(((expr @ r) @ l) @ v)]: ((((S @ R_1) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma_1) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau_1) @ E_1)))) => (((S @ R_2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma_2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau_2) @ E_2)))) => ((((((subsumes_accessible @ r) @ l) @ v) @ R_1) @ R_2) @ S))))) => ((((subsum380726323obally @ r) @ l) @ v) @ S))))).
% 2.94/1.59  thf(fact_204_renaming__distr__global_I1_J, axiom, (! [C:$tType,A:$tType,B:$tType,Alpha2:(A > A),Beta2:(B > B),S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A,Ls:((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))]: (((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => (((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ ((some @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))) @ Ls))) = (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ ((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S)) @ (Alpha2 @ R2)) @ ((some @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))) @ ((((((r_L @ A) @ B) @ C) @ Alpha2) @ Beta2) @ Ls)))))))).
% 2.94/1.59  thf(fact_205_in__renamed__in__unlabelled__local_I2_J, axiom, (! [C:$tType,A:$tType,B:$tType,Alpha2:(A > A),Beta2:(B > B),L3:B,Ls:((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))]: (((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((((((bij_betw @ B) @ B) @ Beta2) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))) => ((((member @ B) @ (Beta2 @ L3)) @ ((((lID_L @ B) @ A) @ C) @ ((((((r_L @ A) @ B) @ C) @ Alpha2) @ Beta2) @ Ls))) = (((member @ B) @ L3) @ ((((lID_L @ B) @ A) @ C) @ Ls)))))))).
% 2.94/1.59  thf(fact_206_in__renamed__in__unlabelled__local_I1_J, axiom, (! [C:$tType,A:$tType,B:$tType,Alpha2:(A > A),Beta2:(B > B),R2:A,Ls:((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))]: (((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((((((bij_betw @ B) @ B) @ Beta2) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))) => ((((member @ A) @ (Alpha2 @ R2)) @ ((((rID_L @ B) @ A) @ C) @ ((((((r_L @ A) @ B) @ C) @ Alpha2) @ Beta2) @ Ls))) = (((member @ A) @ R2) @ ((((rID_L @ B) @ A) @ C) @ Ls)))))))).
% 2.94/1.59  thf(fact_207_RID_092_060_094sub_062GI_I2_J, axiom, (! [C:$tType,A:$tType,B:$tType,S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))),R3:B,Ls:((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))),R2:B]: ((((S @ R3) = ((some @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))) @ Ls)) => ((((member @ B) @ R2) @ ((((rID_L @ A) @ B) @ C) @ Ls)) => (((member @ B) @ R2) @ ((((rID_G @ B) @ A) @ C) @ S))))))).
% 2.94/1.59  thf(fact_208_local__state__of__finite__restricted__global__state__is__finite_I1_J, axiom, (! [C:$tType,B:$tType,A:$tType,S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))),R3:B,Ls:((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))),R2:B]: ((((S @ R3) = ((some @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))) @ Ls)) => (((finite_finite2 @ B) @ ((((rID_G @ B) @ A) @ C) @ (((((fun_upd @ B) @ (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))))) => ((R2 != R3) => ((finite_finite2 @ B) @ ((((rID_L @ A) @ B) @ C) @ Ls)))))))).
% 2.94/1.59  thf(fact_209_substitution_Oin__renamed__in__unlabelled__local_I1_J, axiom, (! [R:$tType,L:$tType,V:$tType,C:$tType,A:$tType,B:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),Alpha2:(A > A),Beta2:(B > B),R2:A,Ls:((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((((((bij_betw @ B) @ B) @ Beta2) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))) => ((((member @ A) @ (Alpha2 @ R2)) @ ((((rID_L @ B) @ A) @ C) @ ((((((r_L @ A) @ B) @ C) @ Alpha2) @ Beta2) @ Ls))) = (((member @ A) @ R2) @ ((((rID_L @ B) @ A) @ C) @ Ls))))))))).
% 2.94/1.59  thf(fact_210_substitution_Oin__renamed__in__unlabelled__local_I2_J, axiom, (! [R:$tType,L:$tType,V:$tType,C:$tType,A:$tType,B:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),Alpha2:(A > A),Beta2:(B > B),L3:B,Ls:((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((((((bij_betw @ B) @ B) @ Beta2) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))) => ((((member @ B) @ (Beta2 @ L3)) @ ((((lID_L @ B) @ A) @ C) @ ((((((r_L @ A) @ B) @ C) @ Alpha2) @ Beta2) @ Ls))) = (((member @ B) @ L3) @ ((((lID_L @ B) @ A) @ C) @ Ls))))))))).
% 2.94/1.59  thf(fact_211_substitution_Olocal__state__of__finite__restricted__global__state__is__finite_I1_J, axiom, (! [V:$tType,L:$tType,R:$tType,C:$tType,B:$tType,A:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))),R3:B,Ls:((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))),R2:B]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R3) = ((some @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))) @ Ls)) => (((finite_finite2 @ B) @ ((((rID_G @ B) @ A) @ C) @ (((((fun_upd @ B) @ (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))))) => ((R2 != R3) => ((finite_finite2 @ B) @ ((((rID_L @ A) @ B) @ C) @ Ls))))))))).
% 2.94/1.59  thf(fact_212_reachable__imp__identifiers__available_I2_J, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((reachable @ r) @ l) @ v) @ subst) @ S) => ((~ (((finite_finite2 @ l) @ (top_top @ (set @ l))))) => (? [L2:l]: ((~ ((((member @ l) @ L2) @ ((((lID_G @ r) @ l) @ v) @ S))))))))))).
% 2.94/1.59  thf(fact_213_only__fork__introduces__rids, axiom, (! [R2:r,S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) => ((! [Sigma:(l > (option @ (((val @ r) @ l) @ v))),Tau:(l > (option @ (((val @ r) @ l) @ v))),E6:(((cntxt @ r) @ l) @ v),E3:(((expr @ r) @ l) @ v)]: (((S @ R2) != ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau) @ (((((plug @ r) @ l) @ v) @ E6) @ ((((rfork @ r) @ l) @ v) @ E3)))))))) => (((ord_less_eq @ (set @ r)) @ ((((rID_G @ r) @ l) @ v) @ S2)) @ ((((rID_G @ r) @ l) @ v) @ S))))))).
% 2.94/1.59  thf(fact_214_empty__map__finite_I4_J, axiom, (! [J:$tType,M3:$tType,K4:$tType]: (((finite_finite2 @ J) @ ((((lID_G @ K4) @ J) @ M3) @ (^ [X2:K4]: ((none @ ((product_prod @ (J > (option @ (((val @ K4) @ J) @ M3)))) @ ((product_prod @ (J > (option @ (((val @ K4) @ J) @ M3)))) @ (((expr @ K4) @ J) @ M3))))))))))).
% 2.94/1.59  thf(fact_215_in__renamed__in__unlabelled__global_I2_J, axiom, (! [C:$tType,B:$tType,A:$tType,Alpha2:(A > A),Beta2:(B > B),L3:B,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: (((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((((((bij_betw @ B) @ B) @ Beta2) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))) => ((((member @ B) @ (Beta2 @ L3)) @ ((((lID_G @ A) @ B) @ C) @ ((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S))) = (((member @ B) @ L3) @ ((((lID_G @ A) @ B) @ C) @ S)))))))).
% 2.94/1.59  thf(fact_216_RID_092_060_094sub_062L__finite__invariant, axiom, (! [R2:r,S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) => (((finite_finite2 @ l) @ ((((lID_G @ r) @ l) @ v) @ S)) => ((finite_finite2 @ l) @ ((((lID_G @ r) @ l) @ v) @ S2))))))).
% 2.94/1.59  thf(fact_217_reachable__imp__identifiers__finite_I2_J, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((reachable @ r) @ l) @ v) @ subst) @ S) => ((finite_finite2 @ l) @ ((((lID_G @ r) @ l) @ v) @ S)))))).
% 2.94/1.59  thf(fact_218_in__restricted__global__in__unrestricted__global_I2_J, axiom, (! [C:$tType,B:$tType,A:$tType,L3:B,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A]: (((((member @ B) @ L3) @ ((((lID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))))) => (((member @ B) @ L3) @ ((((lID_G @ A) @ B) @ C) @ S)))))).
% 2.94/1.59  thf(fact_219_LID_092_060_094sub_062GI, axiom, (! [C:$tType,A:$tType,B:$tType,S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))),R2:B,Ls:((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))),L3:A]: ((((S @ R2) = ((some @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))) @ Ls)) => ((((member @ A) @ L3) @ ((((lID_L @ A) @ B) @ C) @ Ls)) => (((member @ A) @ L3) @ ((((lID_G @ B) @ A) @ C) @ S))))))).
% 2.94/1.59  thf(fact_220_finite__Collect__subsets, axiom, (! [A:$tType,A6:(set @ A)]: ((((finite_finite2 @ A) @ A6) => ((finite_finite2 @ (set @ A)) @ ((collect @ (set @ A)) @ (^ [B7:(set @ A)]: ((((ord_less_eq @ (set @ A)) @ B7) @ A6))))))))).
% 2.94/1.59  thf(fact_221_finite__state__imp__restriction__finite_I2_J, axiom, (! [C:$tType,A:$tType,B:$tType,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A]: ((((finite_finite2 @ B) @ ((((lID_G @ A) @ B) @ C) @ S)) => ((finite_finite2 @ B) @ ((((lID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))))))))).
% 2.94/1.59  thf(fact_222_in__restricted__global__in__updated__global_I2_J, axiom, (! [C:$tType,A:$tType,B:$tType,L3:B,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A,Ls:((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))]: (((((member @ B) @ L3) @ ((((lID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))))) => (((member @ B) @ L3) @ ((((lID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ ((some @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))) @ Ls)))))))).
% 2.94/1.59  thf(fact_223_local__state__of__finite__restricted__global__state__is__finite_I2_J, axiom, (! [C:$tType,B:$tType,A:$tType,S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))),R3:B,Ls:((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))),R2:B]: ((((S @ R3) = ((some @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))) @ Ls)) => (((finite_finite2 @ A) @ ((((lID_G @ B) @ A) @ C) @ (((((fun_upd @ B) @ (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))))) => ((R2 != R3) => ((finite_finite2 @ A) @ ((((lID_L @ A) @ B) @ C) @ Ls)))))))).
% 2.94/1.59  thf(fact_224_ID__restricted__global__subset__unrestricted_I1_J, axiom, (! [C:$tType,A:$tType,B:$tType,S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))),R2:B]: ((((ord_less_eq @ (set @ A)) @ ((((lID_G @ B) @ A) @ C) @ (((((fun_upd @ B) @ (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))))) @ ((((lID_G @ B) @ A) @ C) @ S))))).
% 2.94/1.59  thf(fact_225_finite__has__minimal2, axiom, (! [A:$tType]: (((order @ A) => (! [A6:(set @ A),A2:A]: ((((finite_finite2 @ A) @ A6) => ((((member @ A) @ A2) @ A6) => (? [X3:A]: (((((member @ A) @ X3) @ A6) & ((((ord_less_eq @ A) @ X3) @ A2) & (! [Xa2:A]: (((((member @ A) @ Xa2) @ A6) => ((((ord_less_eq @ A) @ Xa2) @ X3) => (X3 = Xa2))))))))))))))))).
% 2.94/1.59  thf(fact_226_finite__has__maximal2, axiom, (! [A:$tType]: (((order @ A) => (! [A6:(set @ A),A2:A]: ((((finite_finite2 @ A) @ A6) => ((((member @ A) @ A2) @ A6) => (? [X3:A]: (((((member @ A) @ X3) @ A6) & ((((ord_less_eq @ A) @ A2) @ X3) & (! [Xa2:A]: (((((member @ A) @ Xa2) @ A6) => ((((ord_less_eq @ A) @ X3) @ Xa2) => (X3 = Xa2))))))))))))))))).
% 2.94/1.59  thf(fact_227_rev__finite__subset, axiom, (! [A:$tType,B6:(set @ A),A6:(set @ A)]: ((((finite_finite2 @ A) @ B6) => ((((ord_less_eq @ (set @ A)) @ A6) @ B6) => ((finite_finite2 @ A) @ A6)))))).
% 2.94/1.59  thf(fact_228_infinite__super, axiom, (! [A:$tType,S6:(set @ A),T3:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ S6) @ T3) => ((~ (((finite_finite2 @ A) @ S6))) => (~ (((finite_finite2 @ A) @ T3)))))))).
% 2.94/1.59  thf(fact_229_finite__subset, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => (((finite_finite2 @ A) @ B6) => ((finite_finite2 @ A) @ A6)))))).
% 2.94/1.59  thf(fact_230_LID_092_060_094sub_062GE, axiom, (! [C:$tType,B:$tType,A:$tType,L3:A,S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))))]: (((((member @ A) @ L3) @ ((((lID_G @ B) @ A) @ C) @ S)) => (~ ((! [R6:B,Ls3:((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))]: ((((S @ R6) = ((some @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))) @ Ls3)) => (~ ((((member @ A) @ L3) @ ((((lID_L @ A) @ B) @ C) @ Ls3))))))))))))).
% 2.94/1.59  thf(fact_231_substitution_ORID_092_060_094sub_062L__finite__invariant, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),R2:R,S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) => (((finite_finite2 @ L) @ ((((lID_G @ R) @ L) @ V) @ S)) => ((finite_finite2 @ L) @ ((((lID_G @ R) @ L) @ V) @ S2)))))))).
% 2.94/1.59  thf(fact_232_ID__restricted__global__subset__unrestricted_I2_J, axiom, (! [C:$tType,A:$tType,B:$tType,S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))),R2:B]: ((((ord_less_eq @ (set @ B)) @ ((((rID_G @ B) @ A) @ C) @ (((((fun_upd @ B) @ (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))))) @ ((((rID_G @ B) @ A) @ C) @ S))))).
% 2.94/1.59  thf(fact_233_substitution_Oreachable__imp__identifiers__finite_I2_J, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S) => ((finite_finite2 @ L) @ ((((lID_G @ R) @ L) @ V) @ S))))))).
% 2.94/1.59  thf(fact_234_substitution_Oempty__map__finite_I4_J, axiom, (! [R:$tType,L:$tType,V:$tType,J:$tType,M3:$tType,K4:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((finite_finite2 @ J) @ ((((lID_G @ K4) @ J) @ M3) @ (^ [X2:K4]: ((none @ ((product_prod @ (J > (option @ (((val @ K4) @ J) @ M3)))) @ ((product_prod @ (J > (option @ (((val @ K4) @ J) @ M3)))) @ (((expr @ K4) @ J) @ M3)))))))))))).
% 2.94/1.59  thf(fact_235_substitution_Oreachable__imp__identifiers__available_I2_J, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S) => ((~ (((finite_finite2 @ L) @ (top_top @ (set @ L))))) => (? [L2:L]: ((~ ((((member @ L) @ L2) @ ((((lID_G @ R) @ L) @ V) @ S)))))))))))).
% 2.94/1.59  thf(fact_236_substitution_Ofinite__state__imp__restriction__finite_I2_J, axiom, (! [V:$tType,L:$tType,R:$tType,C:$tType,A:$tType,B:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))),R2:A]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((finite_finite2 @ B) @ ((((lID_G @ A) @ B) @ C) @ S)) => ((finite_finite2 @ B) @ ((((lID_G @ A) @ B) @ C) @ (((((fun_upd @ A) @ (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))))))))).
% 2.94/1.59  thf(fact_237_substitution_Oin__renamed__in__unlabelled__global_I2_J, axiom, (! [R:$tType,L:$tType,V:$tType,C:$tType,B:$tType,A:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),Alpha2:(A > A),Beta2:(B > B),L3:B,S:(A > (option @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ ((product_prod @ (B > (option @ (((val @ A) @ B) @ C)))) @ (((expr @ A) @ B) @ C)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((bij_betw @ A) @ A) @ Alpha2) @ (top_top @ (set @ A))) @ (top_top @ (set @ A))) => ((((((bij_betw @ B) @ B) @ Beta2) @ (top_top @ (set @ B))) @ (top_top @ (set @ B))) => ((((member @ B) @ (Beta2 @ L3)) @ ((((lID_G @ A) @ B) @ C) @ ((((((r_G @ A) @ B) @ C) @ Alpha2) @ Beta2) @ S))) = (((member @ B) @ L3) @ ((((lID_G @ A) @ B) @ C) @ S))))))))).
% 2.94/1.59  thf(fact_238_substitution_Olocal__state__of__finite__restricted__global__state__is__finite_I2_J, axiom, (! [V:$tType,L:$tType,R:$tType,C:$tType,B:$tType,A:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(B > (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))),R3:B,Ls:((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))),R2:B]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R3) = ((some @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C)))) @ Ls)) => (((finite_finite2 @ A) @ ((((lID_G @ B) @ A) @ C) @ (((((fun_upd @ B) @ (option @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))) @ S) @ R2) @ (none @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ ((product_prod @ (A > (option @ (((val @ B) @ A) @ C)))) @ (((expr @ B) @ A) @ C))))))) => ((R2 != R3) => ((finite_finite2 @ A) @ ((((lID_L @ A) @ B) @ C) @ Ls))))))))).
% 2.94/1.59  thf(fact_239_substitution_Oonly__fork__introduces__rids, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),R2:R,S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) => ((! [Sigma:(L > (option @ (((val @ R) @ L) @ V))),Tau:(L > (option @ (((val @ R) @ L) @ V))),E6:(((cntxt @ R) @ L) @ V),E3:(((expr @ R) @ L) @ V)]: (((S @ R2) != ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau) @ (((((plug @ R) @ L) @ V) @ E6) @ ((((rfork @ R) @ L) @ V) @ E3)))))))) => (((ord_less_eq @ (set @ R)) @ ((((rID_G @ R) @ L) @ V) @ S2)) @ ((((rID_G @ R) @ L) @ V) @ S)))))))).
% 2.94/1.59  thf(fact_240_only__new__introduces__lids_H, axiom, (! [R2:r,S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),L3:l]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) => ((! [Sigma:(l > (option @ (((val @ r) @ l) @ v))),Tau:(l > (option @ (((val @ r) @ l) @ v))),E6:(((cntxt @ r) @ l) @ v),V3:(((val @ r) @ l) @ v)]: (((S @ R2) != ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau) @ (((((plug @ r) @ l) @ v) @ E6) @ ((((ref @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ V3))))))))) => ((~ ((((member @ l) @ L3) @ ((((lID_G @ r) @ l) @ v) @ S)))) => (~ ((((member @ l) @ L3) @ ((((lID_G @ r) @ l) @ v) @ S2)))))))))).
% 2.94/1.59  thf(fact_241_SLC__new, axiom, (! [S_1:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),V2:(((val @ r) @ l) @ v),S_2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),L3:l,R3:r,S_22:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((S_1 @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ref @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ V2))))))) => ((S_2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (((((fun_upd @ l) @ (option @ (((val @ r) @ l) @ v))) @ Tau2) @ L3) @ ((some @ (((val @ r) @ l) @ v)) @ V2))) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((loc @ l) @ r) @ v) @ L3)))))))) => ((~ ((((member @ l) @ L3) @ ((((lID_G @ r) @ l) @ v) @ S_1)))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_1) @ S_22) => ((R2 != R3) => ((((((reachable @ r) @ l) @ v) @ subst) @ S_1) => ((~ (((finite_finite2 @ l) @ (top_top @ (set @ l))))) => (? [S_3:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S_32:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((eq_states @ r) @ l) @ v) @ S_3) @ S_32) & (((((((((revision_step @ r) @ l) @ v) @ subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32)))))))))))))))).
% 2.94/1.59  thf(fact_242_val_Oinject_I3_J, axiom, (! [V:$tType,R:$tType,L:$tType,X32:L,Y32:L]: (((((((loc @ L) @ R) @ V) @ X32) = ((((loc @ L) @ R) @ V) @ Y32)) = (X32 = Y32))))).
% 2.94/1.59  thf(fact_243_expr_Oinject_I4_J, axiom, (! [V:$tType,L:$tType,R:$tType,X4:(((expr @ R) @ L) @ V),Y4:(((expr @ R) @ L) @ V)]: (((((((ref @ R) @ L) @ V) @ X4) = ((((ref @ R) @ L) @ V) @ Y4)) = (X4 = Y4))))).
% 2.94/1.59  thf(fact_244_revision__step_Onew, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),V2:(((val @ r) @ l) @ v),L3:l]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ref @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ V2))))))) => ((~ ((((member @ l) @ L3) @ ((((lID_G @ r) @ l) @ v) @ S)))) => (((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (((((fun_upd @ l) @ (option @ (((val @ r) @ l) @ v))) @ Tau2) @ L3) @ ((some @ (((val @ r) @ l) @ v)) @ V2))) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((loc @ l) @ r) @ v) @ L3))))))))))))).
% 2.94/1.59  thf(fact_245_only__new__introduces__lids, axiom, (! [R2:r,S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: (((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) => ((! [Sigma:(l > (option @ (((val @ r) @ l) @ v))),Tau:(l > (option @ (((val @ r) @ l) @ v))),E6:(((cntxt @ r) @ l) @ v),V3:(((val @ r) @ l) @ v)]: (((S @ R2) != ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau) @ (((((plug @ r) @ l) @ v) @ E6) @ ((((ref @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ V3))))))))) => (((ord_less_eq @ (set @ l)) @ ((((lID_G @ r) @ l) @ v) @ S2)) @ ((((lID_G @ r) @ l) @ v) @ S))))))).
% 2.94/1.59  thf(fact_246_new__pseudodeterministic, axiom, (! [S:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))),R2:r,Sigma2:(l > (option @ (((val @ r) @ l) @ v))),Tau2:(l > (option @ (((val @ r) @ l) @ v))),E:(((cntxt @ r) @ l) @ v),V2:(((val @ r) @ l) @ v),S2:(r > (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))))]: ((((S @ R2) = ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ Tau2) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ref @ r) @ l) @ v) @ ((((ve @ r) @ l) @ v) @ V2))))))) => ((((((((revision_step @ r) @ l) @ v) @ subst) @ R2) @ S) @ S2) = (? [L4:l]: (((~ ((((member @ l) @ L4) @ ((((lID_G @ r) @ l) @ v) @ S)))) & (S2 = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ S) @ R2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ Sigma2) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ (((((fun_upd @ l) @ (option @ (((val @ r) @ l) @ v))) @ Tau2) @ L4) @ ((some @ (((val @ r) @ l) @ v)) @ V2))) @ (((((plug @ r) @ l) @ v) @ E) @ ((((ve @ r) @ l) @ v) @ ((((loc @ l) @ r) @ v) @ L4)))))))))))))))).
% 2.94/1.59  thf(fact_247_expr_Odistinct_I5_J, axiom, (! [V:$tType,L:$tType,R:$tType,X1:(((val @ R) @ L) @ V),X4:(((expr @ R) @ L) @ V)]: ((((((ve @ R) @ L) @ V) @ X1) != ((((ref @ R) @ L) @ V) @ X4))))).
% 2.94/1.59  thf(fact_248_val_Odistinct_I15_J, axiom, (! [L:$tType,V:$tType,R:$tType,X32:L,X4:R]: ((((((loc @ L) @ R) @ V) @ X32) != ((((rid @ R) @ L) @ V) @ X4))))).
% 2.94/1.59  thf(fact_249_expr_Odistinct_I43_J, axiom, (! [V:$tType,L:$tType,R:$tType,X4:(((expr @ R) @ L) @ V),X8:(((expr @ R) @ L) @ V)]: ((((((ref @ R) @ L) @ V) @ X4) != ((((rjoin @ R) @ L) @ V) @ X8))))).
% 2.94/1.59  thf(fact_250_expr_Odistinct_I41_J, axiom, (! [V:$tType,L:$tType,R:$tType,X4:(((expr @ R) @ L) @ V),X7:(((expr @ R) @ L) @ V)]: ((((((ref @ R) @ L) @ V) @ X4) != ((((rfork @ R) @ L) @ V) @ X7))))).
% 2.94/1.59  thf(fact_251_val_Odistinct_I3_J, axiom, (! [R:$tType,V:$tType,L:$tType,X1:const,X32:L]: ((((((cv @ R) @ L) @ V) @ X1) != ((((loc @ L) @ R) @ V) @ X32))))).
% 2.94/1.59  thf(fact_252_substitution_Onew__pseudodeterministic, axiom, (! [V:$tType,R:$tType,L:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),V2:(((val @ R) @ L) @ V),S2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ref @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ V2))))))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ S2) = (? [L4:L]: (((~ ((((member @ L) @ L4) @ ((((lID_G @ R) @ L) @ V) @ S)))) & (S2 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ (((((fun_upd @ L) @ (option @ (((val @ R) @ L) @ V))) @ Tau2) @ L4) @ ((some @ (((val @ R) @ L) @ V)) @ V2))) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((loc @ L) @ R) @ V) @ L4))))))))))))))))).
% 2.94/1.59  thf(fact_253_substitution_Orevision__step_Onew, axiom, (! [R:$tType,V:$tType,L:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),V2:(((val @ R) @ L) @ V),L3:L]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ref @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ V2))))))) => ((~ ((((member @ L) @ L3) @ ((((lID_G @ R) @ L) @ V) @ S)))) => (((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S) @ (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ (((((fun_upd @ L) @ (option @ (((val @ R) @ L) @ V))) @ Tau2) @ L3) @ ((some @ (((val @ R) @ L) @ V)) @ V2))) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((loc @ L) @ R) @ V) @ L3)))))))))))))).
% 2.94/1.59  thf(fact_254_substitution_OSLC__new, axiom, (! [V:$tType,L:$tType,R:$tType,Subst:((((expr @ R) @ L) @ V) > (V > ((((expr @ R) @ L) @ V) > (((expr @ R) @ L) @ V)))),S_1:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),R2:R,Sigma2:(L > (option @ (((val @ R) @ L) @ V))),Tau2:(L > (option @ (((val @ R) @ L) @ V))),E:(((cntxt @ R) @ L) @ V),V2:(((val @ R) @ L) @ V),S_2:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),L3:L,R3:R,S_22:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: ((((((substitution @ R) @ L) @ V) @ Subst) => (((S_1 @ R2) = ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ Tau2) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ref @ R) @ L) @ V) @ ((((ve @ R) @ L) @ V) @ V2))))))) => ((S_2 = (((((fun_upd @ R) @ (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))) @ S_1) @ R2) @ ((some @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))) @ Sigma2) @ ((((product_Pair @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)) @ (((((fun_upd @ L) @ (option @ (((val @ R) @ L) @ V))) @ Tau2) @ L3) @ ((some @ (((val @ R) @ L) @ V)) @ V2))) @ (((((plug @ R) @ L) @ V) @ E) @ ((((ve @ R) @ L) @ V) @ ((((loc @ L) @ R) @ V) @ L3)))))))) => ((~ ((((member @ L) @ L3) @ ((((lID_G @ R) @ L) @ V) @ S_1)))) => ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_1) @ S_22) => ((R2 != R3) => ((((((reachable @ R) @ L) @ V) @ Subst) @ S_1) => ((~ (((finite_finite2 @ L) @ (top_top @ (set @ L))))) => (? [S_3:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V))))),S_32:(R > (option @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ ((product_prod @ (L > (option @ (((val @ R) @ L) @ V)))) @ (((expr @ R) @ L) @ V)))))]: (((((((eq_states @ R) @ L) @ V) @ S_3) @ S_32) & (((((((((revision_step @ R) @ L) @ V) @ Subst) @ R3) @ S_2) @ S_3) | (S_2 = S_3)) & ((((((((revision_step @ R) @ L) @ V) @ Subst) @ R2) @ S_22) @ S_32) | (S_22 = S_32))))))))))))))))).
% 2.94/1.59  thf(tcon_fun___Finite__Set_Ofinite, axiom, (! [A9:$tType,A10:$tType]: ((((finite_finite @ A9) & (finite_finite @ A10)) => (finite_finite @ (A9 > A10)))))).
% 2.94/1.59  thf(tcon_fun___Orderings_Oorder, axiom, (! [A9:$tType,A10:$tType]: (((order @ A10) => (order @ (A9 > A10)))))).
% 2.94/1.59  thf(tcon_Set_Oset___Finite__Set_Ofinite_1, axiom, (! [A9:$tType]: (((finite_finite @ A9) => (finite_finite @ (set @ A9)))))).
% 2.94/1.59  thf(tcon_Set_Oset___Orderings_Oorder_2, axiom, (! [A9:$tType]: ((order @ (set @ A9))))).
% 2.94/1.59  thf(tcon_HOL_Obool___Finite__Set_Ofinite_3, axiom, (finite_finite @ $o)).
% 2.94/1.59  thf(tcon_HOL_Obool___Orderings_Oorder_4, axiom, (order @ $o)).
% 2.94/1.59  thf(tcon_Sum__Type_Osum___Finite__Set_Ofinite_5, axiom, (! [A9:$tType,A10:$tType]: ((((finite_finite @ A9) & (finite_finite @ A10)) => (finite_finite @ ((sum_sum @ A9) @ A10)))))).
% 2.94/1.59  thf(tcon_Option_Ooption___Finite__Set_Ofinite_6, axiom, (! [A9:$tType]: (((finite_finite @ A9) => (finite_finite @ (option @ A9)))))).
% 2.94/1.59  thf(tcon_Product__Type_Oprod___Finite__Set_Ofinite_7, axiom, (! [A9:$tType,A10:$tType]: ((((finite_finite @ A9) & (finite_finite @ A10)) => (finite_finite @ ((product_prod @ A9) @ A10)))))).
% 2.94/1.59  thf(help_If_3_1_T, axiom, (! [P:$o]: (((P = $true) | (P = $false))))).
% 2.94/1.59  thf(help_If_2_1_T, axiom, (! [A:$tType,X:A,Y:A]: ((((((if @ A) @ $false) @ X) @ Y) = Y)))).
% 2.94/1.59  thf(help_If_1_1_T, axiom, (! [A:$tType,X:A,Y:A]: ((((((if @ A) @ $true) @ X) @ Y) = X)))).
% 2.94/1.59  thf(conj_0, conjecture, (s = (((((fun_upd @ r) @ (option @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))))) @ s) @ r2) @ ((some @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)))) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ ((product_prod @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v))) @ sigma) @ ((((product_Pair @ (l > (option @ (((val @ r) @ l) @ v)))) @ (((expr @ r) @ l) @ v)) @ tau) @ (((((plug @ r) @ l) @ v) @ e) @ ((((rfork @ r) @ l) @ v) @ e2)))))))).
% 2.94/1.59  % SZS output end ListOfTHF for /export/starexec/sandbox/tmp/tmp.9vsdmJoB3y/DTF2DTF17747.p
% 2.94/1.59  ------------------------
% 3.27/1.69  ---- Cleaned THF ---
% 3.27/1.69  thf(ty_t_Product__Type_Oprod,type,
% 3.27/1.69      product_prod: $tType > $tType > $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_t_Sum__Type_Osum,type,
% 3.27/1.69      sum_sum: $tType > $tType > $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_t_Option_Ooption,type,
% 3.27/1.69      option: $tType > $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_t_Data_Oconst,type,
% 3.27/1.69      const: $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_t_Data_Ocntxt,type,
% 3.27/1.69      cntxt: $tType > $tType > $tType > $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_t_Data_Oexpr,type,
% 3.27/1.69      expr: $tType > $tType > $tType > $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_t_Data_Oval,type,
% 3.27/1.69      val: $tType > $tType > $tType > $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_t_Set_Oset,type,
% 3.27/1.69      set: $tType > $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_tf_v,type,
% 3.27/1.69      v: $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_tf_r,type,
% 3.27/1.69      r: $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(ty_tf_l,type,
% 3.27/1.69      l: $tType ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_cl_HOL_Otype,type,
% 3.27/1.69      type: 
% 3.27/1.69        !>[A: $tType] : $o ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_cl_Orderings_Oorder,type,
% 3.27/1.69      order: 
% 3.27/1.69        !>[A: $tType] : $o ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_cl_Finite__Set_Ofinite,type,
% 3.27/1.69      finite_finite: 
% 3.27/1.69        !>[A: $tType] : $o ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_cl_Nat_Osemiring__char__0,type,
% 3.27/1.69      semiring_char_0: 
% 3.27/1.69        !>[A: $tType] : $o ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_OLID__expression,type,
% 3.27/1.69      lID_expression: 
% 3.27/1.69        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > ( expr @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_OLID__local__store,type,
% 3.27/1.69      lID_local_store: 
% 3.27/1.69        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > L > ( option @ ( val @ R @ L @ V ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_OLID__snapshot,type,
% 3.27/1.69      lID_snapshot: 
% 3.27/1.69        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > L > ( option @ ( val @ R @ L @ V ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Ocombine,type,
% 3.27/1.69      combine: 
% 3.27/1.69        !>[A: $tType,B: $tType] : ( ( A > ( option @ B ) ) > ( A > ( option @ B ) ) > A > ( option @ B ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Oconst_OUnit,type,
% 3.27/1.69      unit: const ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Oexpr_ORef,type,
% 3.27/1.69      ref: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Oexpr_ORfork,type,
% 3.27/1.69      rfork: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Oexpr_ORjoin,type,
% 3.27/1.69      rjoin: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Oexpr_OVE,type,
% 3.27/1.69      ve: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( val @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Oplug,type,
% 3.27/1.69      plug: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( cntxt @ R @ L @ V ) > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Oval_OCV,type,
% 3.27/1.69      cv: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( const > ( val @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Oval_OLoc,type,
% 3.27/1.69      loc: 
% 3.27/1.69        !>[L: $tType,R: $tType,V: $tType] : ( L > ( val @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Data_Oval_ORid,type,
% 3.27/1.69      rid: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( R > ( val @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Executions_Osubstitution_Oexecution,type,
% 3.27/1.69      execution: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > ( expr @ R @ L @ V ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Executions_Osubstitution_Oinductive__invariant,type,
% 3.27/1.69      inductive_invariant: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Executions_Osubstitution_Oreachable,type,
% 3.27/1.69      reachable: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Finite__Set_Ofinite,type,
% 3.27/1.69      finite_finite2: 
% 3.27/1.69        !>[A: $tType] : ( ( set @ A ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Fun_Obij__betw,type,
% 3.27/1.69      bij_betw: 
% 3.27/1.69        !>[A: $tType,B: $tType] : ( ( A > B ) > ( set @ A ) > ( set @ B ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Fun_Ofun__upd,type,
% 3.27/1.69      fun_upd: 
% 3.27/1.69        !>[A: $tType,B: $tType] : ( ( A > B ) > A > B > A > B ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_If,type,
% 3.27/1.69      if: 
% 3.27/1.69        !>[A: $tType] : ( $o > A > A > A ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Map_Omap__comp,type,
% 3.27/1.69      map_comp: 
% 3.27/1.69        !>[B: $tType,C: $tType,A: $tType] : ( ( B > ( option @ C ) ) > ( A > ( option @ B ) ) > A > ( option @ C ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Occurrences_OLID_092_060_094sub_062G,type,
% 3.27/1.69      lID_G: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( set @ L ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Occurrences_OLID_092_060_094sub_062L,type,
% 3.27/1.69      lID_L: 
% 3.27/1.69        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > ( set @ L ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Occurrences_ORID_092_060_094sub_062G,type,
% 3.27/1.69      rID_G: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( set @ R ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Occurrences_ORID_092_060_094sub_062L,type,
% 3.27/1.69      rID_L: 
% 3.27/1.69        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > ( set @ R ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_OperationalSemantics_Osubstitution_Odomains__subsume,type,
% 3.27/1.69      domains_subsume: 
% 3.27/1.69        !>[L: $tType,R: $tType,V: $tType] : ( ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_OperationalSemantics_Osubstitution_Odomains__subsume__globally,type,
% 3.27/1.69      domain398919503obally: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_OperationalSemantics_Osubstitution_Orevision__step,type,
% 3.27/1.69      revision_step: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > R > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_OperationalSemantics_Osubstitution_Orevision__step__relaxed,type,
% 3.27/1.69      revisi1433015572elaxed: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > R > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_OperationalSemantics_Osubstitution_Osubsumes__accessible,type,
% 3.27/1.69      subsumes_accessible: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( R > R > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_OperationalSemantics_Osubstitution_Osubsumes__accessible__globally,type,
% 3.27/1.69      subsum380726323obally: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Option_Ooption_ONone,type,
% 3.27/1.69      none: 
% 3.27/1.69        !>[A: $tType] : ( option @ A ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Option_Ooption_OSome,type,
% 3.27/1.69      some: 
% 3.27/1.69        !>[A: $tType] : ( A > ( option @ A ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 3.27/1.69      ord_less_eq: 
% 3.27/1.69        !>[A: $tType] : ( A > A > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Orderings_Otop__class_Otop,type,
% 3.27/1.69      top_top: 
% 3.27/1.69        !>[A: $tType] : A ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Product__Type_OPair,type,
% 3.27/1.69      product_Pair: 
% 3.27/1.69        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 3.27/1.69      produc2004651681e_prod: 
% 3.27/1.69        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 3.27/1.69      product_rec_prod: 
% 3.27/1.69        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Renaming_O_092_060R_062_092_060_094sub_062G,type,
% 3.27/1.69      r_G: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( R > R ) > ( L > L ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Renaming_O_092_060R_062_092_060_094sub_062L,type,
% 3.27/1.69      r_L: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( R > R ) > ( L > L ) > ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Renaming_Oeq__states,type,
% 3.27/1.69      eq_states: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Renaming_Ois__global__renaming,type,
% 3.27/1.69      is_global_renaming: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( R > R ) > ( L > L ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Set_OCollect,type,
% 3.27/1.69      collect: 
% 3.27/1.69        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_Substitution_Osubstitution,type,
% 3.27/1.69      substitution: 
% 3.27/1.69        !>[R: $tType,L: $tType,V: $tType] : ( ( ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ) ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_c_member,type,
% 3.27/1.69      member: 
% 3.27/1.69        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v__092_060E_062____,type,
% 3.27/1.69      e: cntxt @ r @ l @ v ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v__092_060alpha_062,type,
% 3.27/1.69      alpha: r > r ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v__092_060beta_062,type,
% 3.27/1.69      beta: l > l ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v__092_060sigma_062____,type,
% 3.27/1.69      sigma: l > ( option @ ( val @ r @ l @ v ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v__092_060tau_062____,type,
% 3.27/1.69      tau: l > ( option @ ( val @ r @ l @ v ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v_e____,type,
% 3.27/1.69      e2: expr @ r @ l @ v ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v_r,type,
% 3.27/1.69      r2: r ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v_r_H____,type,
% 3.27/1.69      r3: r ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v_s,type,
% 3.27/1.69      s: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v_s_H,type,
% 3.27/1.69      s2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(sy_v_subst,type,
% 3.27/1.69      subst: ( expr @ r @ l @ v ) > v > ( expr @ r @ l @ v ) > ( expr @ r @ l @ v ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_0_local_Ofork_I2_J,axiom,
% 3.27/1.69      ( ( s @ r2 )
% 3.27/1.69      = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ tau @ ( plug @ r @ l @ v @ e @ ( rfork @ r @ l @ v @ e2 ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_1_expr_Oinject_I7_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X7: expr @ R @ L @ V,Y7: expr @ R @ L @ V] :
% 3.27/1.69        ( ( ( rfork @ R @ L @ V @ X7 )
% 3.27/1.69          = ( rfork @ R @ L @ V @ Y7 ) )
% 3.27/1.69        = ( X7 = Y7 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_2_injective__cntxt,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,E: cntxt @ A @ B @ C,E1: expr @ A @ B @ C,E2: expr @ A @ B @ C] :
% 3.27/1.69        ( ( ( plug @ A @ B @ C @ E @ E1 )
% 3.27/1.69          = ( plug @ A @ B @ C @ E @ E2 ) )
% 3.27/1.69        = ( E1 = E2 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_3_fun__upd__upd,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,F: A > B,X: A,Y: B,Z: B] :
% 3.27/1.69        ( ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ F @ X @ Y ) @ X @ Z )
% 3.27/1.69        = ( fun_upd @ A @ B @ F @ X @ Z ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_4_fun__upd__triv,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,F: A > B,X: A] :
% 3.27/1.69        ( ( fun_upd @ A @ B @ F @ X @ ( F @ X ) )
% 3.27/1.69        = F ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_5_fun__upd__apply,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType] :
% 3.27/1.69        ( ( fun_upd @ B @ A )
% 3.27/1.69        = ( ^ [F2: B > A,X2: B,Y2: A,Z2: B] : ( if @ A @ ( Z2 = X2 ) @ Y2 @ ( F2 @ Z2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_6_option_Oinject,axiom,
% 3.27/1.69      ! [A: $tType,X22: A,Y22: A] :
% 3.27/1.69        ( ( ( some @ A @ X22 )
% 3.27/1.69          = ( some @ A @ Y22 ) )
% 3.27/1.69        = ( X22 = Y22 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_7_prod_Oinject,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,X1: A,X22: B,Y1: A,Y22: B] :
% 3.27/1.69        ( ( ( product_Pair @ A @ B @ X1 @ X22 )
% 3.27/1.69          = ( product_Pair @ A @ B @ Y1 @ Y22 ) )
% 3.27/1.69        = ( ( X1 = Y1 )
% 3.27/1.69          & ( X22 = Y22 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_8_old_Oprod_Oinject,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 3.27/1.69        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 3.27/1.69          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 3.27/1.69        = ( ( A2 = A3 )
% 3.27/1.69          & ( B2 = B3 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_9_LID__local__store_Ocases,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 3.27/1.69        ~ ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 3.27/1.69            ( X
% 3.27/1.69           != ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_10_LID__local__store_Oinduct,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,P: ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > $o,A0: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 3.27/1.69        ( ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] : ( P @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 3.27/1.69       => ( P @ A0 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_11__092_060R_062_092_060_094sub_062L_Oinduct,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,P: ( R > R ) > ( L > L ) > ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) > $o,A0: R > R,A1: L > L,A22: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 3.27/1.69        ( ! [Alpha: R > R,Beta: L > L,Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] : ( P @ Alpha @ Beta @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 3.27/1.69       => ( P @ A0 @ A1 @ A22 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_12_map__upd__eqD1,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,M: A > ( option @ B ),A2: A,X: B,N: A > ( option @ B ),Y: B] :
% 3.27/1.69        ( ( ( fun_upd @ A @ ( option @ B ) @ M @ A2 @ ( some @ B @ X ) )
% 3.27/1.69          = ( fun_upd @ A @ ( option @ B ) @ N @ A2 @ ( some @ B @ Y ) ) )
% 3.27/1.69       => ( X = Y ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_13__092_060R_062_092_060_094sub_062L_Ocases,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X: product_prod @ ( R > R ) @ ( product_prod @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ~ ! [Alpha: R > R,Beta: L > L,Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 3.27/1.69            ( X
% 3.27/1.69           != ( product_Pair @ ( R > R ) @ ( product_prod @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ Alpha @ ( product_Pair @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Beta @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_14__092_060R_062_092_060_094sub_062S_Ocases,axiom,
% 3.27/1.69      ! [R: $tType,V: $tType,L: $tType,X: product_prod @ ( R > R ) @ ( product_prod @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ L ) )] :
% 3.27/1.69        ~ ! [Alpha: R > R,Beta: L > L,Sigma: L > ( option @ ( val @ R @ L @ V ) ),L2: L] :
% 3.27/1.69            ( X
% 3.27/1.69           != ( product_Pair @ ( R > R ) @ ( product_prod @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ L ) ) @ Alpha @ ( product_Pair @ ( L > L ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ L ) @ Beta @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ L @ Sigma @ L2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_15_old_Oprod_Oinducts,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 3.27/1.69        ( ! [A4: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A4 @ B4 ) )
% 3.27/1.69       => ( P @ Prod ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_16_old_Oprod_Oexhaust,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 3.27/1.69        ~ ! [A4: A,B4: B] :
% 3.27/1.69            ( Y
% 3.27/1.69           != ( product_Pair @ A @ B @ A4 @ B4 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_17_Pair__inject,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 3.27/1.69        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 3.27/1.69          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 3.27/1.69       => ~ ( ( A2 = A3 )
% 3.27/1.69           => ( B2 != B3 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_18_prod__cases,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 3.27/1.69        ( ! [A4: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A4 @ B4 ) )
% 3.27/1.69       => ( P @ P2 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_19_surj__pair,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 3.27/1.69      ? [X3: A,Y3: B] :
% 3.27/1.69        ( P2
% 3.27/1.69        = ( product_Pair @ A @ B @ X3 @ Y3 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_20_fun__upd__idem__iff,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,F: A > B,X: A,Y: B] :
% 3.27/1.69        ( ( ( fun_upd @ A @ B @ F @ X @ Y )
% 3.27/1.69          = F )
% 3.27/1.69        = ( ( F @ X )
% 3.27/1.69          = Y ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_21_fun__upd__twist,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,A2: A,C2: A,M: A > B,B2: B,D: B] :
% 3.27/1.69        ( ( A2 != C2 )
% 3.27/1.69       => ( ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ M @ A2 @ B2 ) @ C2 @ D )
% 3.27/1.69          = ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ M @ C2 @ D ) @ A2 @ B2 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_22_fun__upd__other,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,Z: A,X: A,F: A > B,Y: B] :
% 3.27/1.69        ( ( Z != X )
% 3.27/1.69       => ( ( fun_upd @ A @ B @ F @ X @ Y @ Z )
% 3.27/1.69          = ( F @ Z ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_23_fun__upd__same,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,F: B > A,X: B,Y: A] :
% 3.27/1.69        ( ( fun_upd @ B @ A @ F @ X @ Y @ X )
% 3.27/1.69        = Y ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_24_fun__upd__idem,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,F: B > A,X: B,Y: A] :
% 3.27/1.69        ( ( ( F @ X )
% 3.27/1.69          = Y )
% 3.27/1.69       => ( ( fun_upd @ B @ A @ F @ X @ Y )
% 3.27/1.69          = F ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_25_fun__upd__eqD,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,F: A > B,X: A,Y: B,G: A > B,Z: B] :
% 3.27/1.69        ( ( ( fun_upd @ A @ B @ F @ X @ Y )
% 3.27/1.69          = ( fun_upd @ A @ B @ G @ X @ Z ) )
% 3.27/1.69       => ( Y = Z ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_26_fun__upd__def,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType] :
% 3.27/1.69        ( ( fun_upd @ A @ B )
% 3.27/1.69        = ( ^ [F2: A > B,A5: A,B5: B,X2: A] : ( if @ B @ ( X2 = A5 ) @ B5 @ ( F2 @ X2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_27_prod__induct7,axiom,
% 3.27/1.69      ! [G2: $tType,F3: $tType,E4: $tType,D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) )] :
% 3.27/1.69        ( ! [A4: A,B4: B,C3: C,D3: D2,E3: E4,F4: F3,G3: G2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) @ D3 @ ( product_Pair @ E4 @ ( product_prod @ F3 @ G2 ) @ E3 @ ( product_Pair @ F3 @ G2 @ F4 @ G3 ) ) ) ) ) ) )
% 3.27/1.69       => ( P @ X ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_28_prod__induct6,axiom,
% 3.27/1.69      ! [F3: $tType,E4: $tType,D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) )] :
% 3.27/1.69        ( ! [A4: A,B4: B,C3: C,D3: D2,E3: E4,F4: F3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E4 @ F3 ) @ D3 @ ( product_Pair @ E4 @ F3 @ E3 @ F4 ) ) ) ) ) )
% 3.27/1.69       => ( P @ X ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_29_prod__induct5,axiom,
% 3.27/1.69      ! [E4: $tType,D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) )] :
% 3.27/1.69        ( ! [A4: A,B4: B,C3: C,D3: D2,E3: E4] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ E4 ) @ C3 @ ( product_Pair @ D2 @ E4 @ D3 @ E3 ) ) ) ) )
% 3.27/1.69       => ( P @ X ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_30_prod__induct4,axiom,
% 3.27/1.69      ! [D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) )] :
% 3.27/1.69        ( ! [A4: A,B4: B,C3: C,D3: D2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ D2 ) @ B4 @ ( product_Pair @ C @ D2 @ C3 @ D3 ) ) ) )
% 3.27/1.69       => ( P @ X ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_31_prod__induct3,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 3.27/1.69        ( ! [A4: A,B4: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A4 @ ( product_Pair @ B @ C @ B4 @ C3 ) ) )
% 3.27/1.69       => ( P @ X ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_32_prod__cases7,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,C: $tType,D2: $tType,E4: $tType,F3: $tType,G2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) )] :
% 3.27/1.69        ~ ! [A4: A,B4: B,C3: C,D3: D2,E3: E4,F4: F3,G3: G2] :
% 3.27/1.69            ( Y
% 3.27/1.69           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E4 @ ( product_prod @ F3 @ G2 ) ) @ D3 @ ( product_Pair @ E4 @ ( product_prod @ F3 @ G2 ) @ E3 @ ( product_Pair @ F3 @ G2 @ F4 @ G3 ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_33_prod__cases6,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,C: $tType,D2: $tType,E4: $tType,F3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) )] :
% 3.27/1.69        ~ ! [A4: A,B4: B,C3: C,D3: D2,E3: E4,F4: F3] :
% 3.27/1.69            ( Y
% 3.27/1.69           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E4 @ F3 ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E4 @ F3 ) @ D3 @ ( product_Pair @ E4 @ F3 @ E3 @ F4 ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_34_prod__cases5,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,C: $tType,D2: $tType,E4: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) )] :
% 3.27/1.69        ~ ! [A4: A,B4: B,C3: C,D3: D2,E3: E4] :
% 3.27/1.69            ( Y
% 3.27/1.69           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E4 ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ E4 ) @ C3 @ ( product_Pair @ D2 @ E4 @ D3 @ E3 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_35_prod__cases4,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,C: $tType,D2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) )] :
% 3.27/1.69        ~ ! [A4: A,B4: B,C3: C,D3: D2] :
% 3.27/1.69            ( Y
% 3.27/1.69           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) ) @ A4 @ ( product_Pair @ B @ ( product_prod @ C @ D2 ) @ B4 @ ( product_Pair @ C @ D2 @ C3 @ D3 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_36_prod__cases3,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 3.27/1.69        ~ ! [A4: A,B4: B,C3: C] :
% 3.27/1.69            ( Y
% 3.27/1.69           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A4 @ ( product_Pair @ B @ C @ B4 @ C3 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_37_combine_Ocases,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,X: product_prod @ ( A > ( option @ B ) ) @ ( product_prod @ ( A > ( option @ B ) ) @ A )] :
% 3.27/1.69        ~ ! [F4: A > ( option @ B ),G3: A > ( option @ B ),X3: A] :
% 3.27/1.69            ( X
% 3.27/1.69           != ( product_Pair @ ( A > ( option @ B ) ) @ ( product_prod @ ( A > ( option @ B ) ) @ A ) @ F4 @ ( product_Pair @ ( A > ( option @ B ) ) @ A @ G3 @ X3 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_38_map__upd__Some__unfold,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,M: B > ( option @ A ),A2: B,B2: A,X: B,Y: A] :
% 3.27/1.69        ( ( ( fun_upd @ B @ ( option @ A ) @ M @ A2 @ ( some @ A @ B2 ) @ X )
% 3.27/1.69          = ( some @ A @ Y ) )
% 3.27/1.69        = ( ( ( X = A2 )
% 3.27/1.69            & ( B2 = Y ) )
% 3.27/1.69          | ( ( X != A2 )
% 3.27/1.69            & ( ( M @ X )
% 3.27/1.69              = ( some @ A @ Y ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_39_map__upd__triv,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,T2: B > ( option @ A ),K: B,X: A] :
% 3.27/1.69        ( ( ( T2 @ K )
% 3.27/1.69          = ( some @ A @ X ) )
% 3.27/1.69       => ( ( fun_upd @ B @ ( option @ A ) @ T2 @ K @ ( some @ A @ X ) )
% 3.27/1.69          = T2 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_40_old_Oprod_Orec,axiom,
% 3.27/1.69      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
% 3.27/1.69        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 3.27/1.69        = ( F1 @ A2 @ B2 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_41_LID__local__store_Osimps,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E5: expr @ R @ L @ V] :
% 3.27/1.69        ( ( lID_local_store @ L @ R @ V @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ E5 ) ) )
% 3.27/1.69        = Tau2 ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_42_LID__local__store_Oelims,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),Y: L > ( option @ ( val @ R @ L @ V ) )] :
% 3.27/1.69        ( ( ( lID_local_store @ L @ R @ V @ X )
% 3.27/1.69          = Y )
% 3.27/1.69       => ~ ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) )] :
% 3.27/1.69              ( ? [E3: expr @ R @ L @ V] :
% 3.27/1.69                  ( X
% 3.27/1.69                  = ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 3.27/1.69             => ( Y != Tau ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_43_LID__expression_Osimps,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E5: expr @ R @ L @ V] :
% 3.27/1.69        ( ( lID_expression @ L @ R @ V @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ E5 ) ) )
% 3.27/1.69        = E5 ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_44_LID__expression_Oelims,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),Y: expr @ R @ L @ V] :
% 3.27/1.69        ( ( ( lID_expression @ L @ R @ V @ X )
% 3.27/1.69          = Y )
% 3.27/1.69       => ~ ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 3.27/1.69              ( ( X
% 3.27/1.69                = ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 3.27/1.69             => ( Y != E3 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_45_mem__Collect__eq,axiom,
% 3.27/1.69      ! [A: $tType,A2: A,P: A > $o] :
% 3.27/1.69        ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 3.27/1.69        = ( P @ A2 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_46_Collect__mem__eq,axiom,
% 3.27/1.69      ! [A: $tType,A6: set @ A] :
% 3.27/1.69        ( ( collect @ A
% 3.27/1.69          @ ^ [X2: A] : ( member @ A @ X2 @ A6 ) )
% 3.27/1.69        = A6 ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_47_Collect__cong,axiom,
% 3.27/1.69      ! [A: $tType,P: A > $o,Q: A > $o] :
% 3.27/1.69        ( ! [X3: A] :
% 3.27/1.69            ( ( P @ X3 )
% 3.27/1.69            = ( Q @ X3 ) )
% 3.27/1.69       => ( ( collect @ A @ P )
% 3.27/1.69          = ( collect @ A @ Q ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_48_ext,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 3.27/1.69        ( ! [X3: A] :
% 3.27/1.69            ( ( F @ X3 )
% 3.27/1.69            = ( G @ X3 ) )
% 3.27/1.69       => ( F = G ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_49_local_Ofork_I3_J,axiom,
% 3.27/1.69      ~ ( member @ r @ r3 @ ( rID_G @ r @ l @ v @ s ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_50_LID__snapshot_Osimps,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E5: expr @ R @ L @ V] :
% 3.27/1.69        ( ( lID_snapshot @ L @ R @ V @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ E5 ) ) )
% 3.27/1.69        = Sigma2 ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_51_LID__snapshot_Oelims,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),Y: L > ( option @ ( val @ R @ L @ V ) )] :
% 3.27/1.69        ( ( ( lID_snapshot @ L @ R @ V @ X )
% 3.27/1.69          = Y )
% 3.27/1.69       => ~ ! [Sigma: L > ( option @ ( val @ R @ L @ V ) )] :
% 3.27/1.69              ( ? [Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 3.27/1.69                  ( X
% 3.27/1.69                  = ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) )
% 3.27/1.69             => ( Y != Sigma ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_52_internal__case__prod__conv,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,C: $tType,C2: B > C > A,A2: B,B2: C] :
% 3.27/1.69        ( ( produc2004651681e_prod @ B @ C @ A @ C2 @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 3.27/1.69        = ( C2 @ A2 @ B2 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_53_map__comp__simps_I2_J,axiom,
% 3.27/1.69      ! [B: $tType,C: $tType,A: $tType,M2: B > ( option @ A ),K: B,K2: A,M1: A > ( option @ C )] :
% 3.27/1.69        ( ( ( M2 @ K )
% 3.27/1.69          = ( some @ A @ K2 ) )
% 3.27/1.69       => ( ( map_comp @ A @ C @ B @ M1 @ M2 @ K )
% 3.27/1.69          = ( M1 @ K2 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_54_local_Ofork_I1_J,axiom,
% 3.27/1.69      ( s2
% 3.27/1.69      = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ s @ r2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ tau @ ( plug @ r @ l @ v @ e @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ r3 ) ) ) ) ) ) ) @ r3
% 3.27/1.69        @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 3.27/1.69          @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ sigma @ tau )
% 3.27/1.69            @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 3.27/1.69              @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 3.27/1.69              @ e2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_55_expr_Oinject_I1_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X1: val @ R @ L @ V,Y1: val @ R @ L @ V] :
% 3.27/1.69        ( ( ( ve @ R @ L @ V @ X1 )
% 3.27/1.69          = ( ve @ R @ L @ V @ Y1 ) )
% 3.27/1.69        = ( X1 = Y1 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_56_val_Oinject_I4_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X4: R,Y4: R] :
% 3.27/1.69        ( ( ( rid @ R @ L @ V @ X4 )
% 3.27/1.69          = ( rid @ R @ L @ V @ Y4 ) )
% 3.27/1.69        = ( X4 = Y4 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_57_not__None__eq,axiom,
% 3.27/1.69      ! [A: $tType,X: option @ A] :
% 3.27/1.69        ( ( X
% 3.27/1.69         != ( none @ A ) )
% 3.27/1.69        = ( ? [Y2: A] :
% 3.27/1.69              ( X
% 3.27/1.69              = ( some @ A @ Y2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_58_not__Some__eq,axiom,
% 3.27/1.69      ! [A: $tType,X: option @ A] :
% 3.27/1.69        ( ( ! [Y2: A] :
% 3.27/1.69              ( X
% 3.27/1.69             != ( some @ A @ Y2 ) ) )
% 3.27/1.69        = ( X
% 3.27/1.69          = ( none @ A ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_59_empty__upd__none,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,X: A] :
% 3.27/1.69        ( ( fun_upd @ A @ ( option @ B )
% 3.27/1.69          @ ^ [X2: A] : ( none @ B )
% 3.27/1.69          @ X
% 3.27/1.69          @ ( none @ B ) )
% 3.27/1.69        = ( ^ [X2: A] : ( none @ B ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_60_map__comp__simps_I1_J,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,C: $tType,M2: B > ( option @ A ),K: B,M1: A > ( option @ C )] :
% 3.27/1.69        ( ( ( M2 @ K )
% 3.27/1.69          = ( none @ A ) )
% 3.27/1.69       => ( ( map_comp @ A @ C @ B @ M1 @ M2 @ K )
% 3.27/1.69          = ( none @ C ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_61_map__comp__empty_I2_J,axiom,
% 3.27/1.69      ! [B: $tType,D2: $tType,C: $tType,M: C > ( option @ B )] :
% 3.27/1.69        ( ( map_comp @ B @ D2 @ C
% 3.27/1.69          @ ^ [X2: B] : ( none @ D2 )
% 3.27/1.69          @ M )
% 3.27/1.69        = ( ^ [X2: C] : ( none @ D2 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_62_map__comp__empty_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,M: C > ( option @ B )] :
% 3.27/1.69        ( ( map_comp @ C @ B @ A @ M
% 3.27/1.69          @ ^ [X2: A] : ( none @ C ) )
% 3.27/1.69        = ( ^ [X2: A] : ( none @ B ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_63_combine_Oelims,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,X: A > ( option @ B ),Xa: A > ( option @ B ),Xb: A,Y: option @ B] :
% 3.27/1.69        ( ( ( combine @ A @ B @ X @ Xa @ Xb )
% 3.27/1.69          = Y )
% 3.27/1.69       => ( ( ( ( Xa @ Xb )
% 3.27/1.69              = ( none @ B ) )
% 3.27/1.69           => ( Y
% 3.27/1.69              = ( X @ Xb ) ) )
% 3.27/1.69          & ( ( ( Xa @ Xb )
% 3.27/1.69             != ( none @ B ) )
% 3.27/1.69           => ( Y
% 3.27/1.69              = ( Xa @ Xb ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_64_combine_Osimps,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType] :
% 3.27/1.69        ( ( combine @ A @ B )
% 3.27/1.69        = ( ^ [F2: A > ( option @ B ),G4: A > ( option @ B ),X2: A] :
% 3.27/1.69              ( if @ ( option @ B )
% 3.27/1.69              @ ( ( G4 @ X2 )
% 3.27/1.69                = ( none @ B ) )
% 3.27/1.69              @ ( F2 @ X2 )
% 3.27/1.69              @ ( G4 @ X2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_65_map__comp__None__iff,axiom,
% 3.27/1.69      ! [A: $tType,C: $tType,B: $tType,M1: B > ( option @ A ),M2: C > ( option @ B ),K: C] :
% 3.27/1.69        ( ( ( map_comp @ B @ A @ C @ M1 @ M2 @ K )
% 3.27/1.69          = ( none @ A ) )
% 3.27/1.69        = ( ( ( M2 @ K )
% 3.27/1.69            = ( none @ B ) )
% 3.27/1.69          | ? [K3: B] :
% 3.27/1.69              ( ( ( M2 @ K )
% 3.27/1.69                = ( some @ B @ K3 ) )
% 3.27/1.69              & ( ( M1 @ K3 )
% 3.27/1.69                = ( none @ A ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_66_option_Odistinct_I1_J,axiom,
% 3.27/1.69      ! [A: $tType,X22: A] :
% 3.27/1.69        ( ( none @ A )
% 3.27/1.69       != ( some @ A @ X22 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_67_option_OdiscI,axiom,
% 3.27/1.69      ! [A: $tType,Option: option @ A,X22: A] :
% 3.27/1.69        ( ( Option
% 3.27/1.69          = ( some @ A @ X22 ) )
% 3.27/1.69       => ( Option
% 3.27/1.69         != ( none @ A ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_68_option_Oexhaust,axiom,
% 3.27/1.69      ! [A: $tType,Y: option @ A] :
% 3.27/1.69        ( ( Y
% 3.27/1.69         != ( none @ A ) )
% 3.27/1.69       => ~ ! [X23: A] :
% 3.27/1.69              ( Y
% 3.27/1.69             != ( some @ A @ X23 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_69_option_Oinducts,axiom,
% 3.27/1.69      ! [A: $tType,P: ( option @ A ) > $o,Option: option @ A] :
% 3.27/1.69        ( ( P @ ( none @ A ) )
% 3.27/1.69       => ( ! [X3: A] : ( P @ ( some @ A @ X3 ) )
% 3.27/1.69         => ( P @ Option ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_70_split__option__ex,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( ^ [P3: ( option @ A ) > $o] :
% 3.27/1.69            ? [X5: option @ A] : ( P3 @ X5 ) )
% 3.27/1.69        = ( ^ [P4: ( option @ A ) > $o] :
% 3.27/1.69              ( ( P4 @ ( none @ A ) )
% 3.27/1.69              | ? [X2: A] : ( P4 @ ( some @ A @ X2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_71_split__option__all,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( ^ [P3: ( option @ A ) > $o] :
% 3.27/1.69            ! [X5: option @ A] : ( P3 @ X5 ) )
% 3.27/1.69        = ( ^ [P4: ( option @ A ) > $o] :
% 3.27/1.69              ( ( P4 @ ( none @ A ) )
% 3.27/1.69              & ! [X2: A] : ( P4 @ ( some @ A @ X2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_72_combine__options__cases,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,X: option @ A,P: ( option @ A ) > ( option @ B ) > $o,Y: option @ B] :
% 3.27/1.69        ( ( ( X
% 3.27/1.69            = ( none @ A ) )
% 3.27/1.69         => ( P @ X @ Y ) )
% 3.27/1.69       => ( ( ( Y
% 3.27/1.69              = ( none @ B ) )
% 3.27/1.69           => ( P @ X @ Y ) )
% 3.27/1.69         => ( ! [A4: A,B4: B] :
% 3.27/1.69                ( ( X
% 3.27/1.69                  = ( some @ A @ A4 ) )
% 3.27/1.69               => ( ( Y
% 3.27/1.69                    = ( some @ B @ B4 ) )
% 3.27/1.69                 => ( P @ X @ Y ) ) )
% 3.27/1.69           => ( P @ X @ Y ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_73_expr_Odistinct_I11_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X1: val @ R @ L @ V,X7: expr @ R @ L @ V] :
% 3.27/1.69        ( ( ve @ R @ L @ V @ X1 )
% 3.27/1.69       != ( rfork @ R @ L @ V @ X7 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_74_map__upd__nonempty,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,T2: A > ( option @ B ),K: A,X: B] :
% 3.27/1.69        ( ( fun_upd @ A @ ( option @ B ) @ T2 @ K @ ( some @ B @ X ) )
% 3.27/1.69       != ( ^ [X2: A] : ( none @ B ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_75_map__comp__Some__iff,axiom,
% 3.27/1.69      ! [A: $tType,C: $tType,B: $tType,M1: B > ( option @ A ),M2: C > ( option @ B ),K: C,V2: A] :
% 3.27/1.69        ( ( ( map_comp @ B @ A @ C @ M1 @ M2 @ K )
% 3.27/1.69          = ( some @ A @ V2 ) )
% 3.27/1.69        = ( ? [K3: B] :
% 3.27/1.69              ( ( ( M2 @ K )
% 3.27/1.69                = ( some @ B @ K3 ) )
% 3.27/1.69              & ( ( M1 @ K3 )
% 3.27/1.69                = ( some @ A @ V2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_76_restrictions__inwards,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,X: A,X6: A,F: A > ( option @ B ),Y: B] :
% 3.27/1.69        ( ( X != X6 )
% 3.27/1.69       => ( ( fun_upd @ A @ ( option @ B ) @ ( fun_upd @ A @ ( option @ B ) @ F @ X @ ( some @ B @ Y ) ) @ X6 @ ( none @ B ) )
% 3.27/1.69          = ( fun_upd @ A @ ( option @ B ) @ ( fun_upd @ A @ ( option @ B ) @ F @ X6 @ ( none @ B ) ) @ X @ ( some @ B @ Y ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_77_RID_092_060_094sub_062GI_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R2: B,V2: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) )] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ V2 ) )
% 3.27/1.69       => ( member @ B @ R2 @ ( rID_G @ B @ A @ C @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_78_revision__step__relaxed_Ofork,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,E5: expr @ r @ l @ v,R3: r] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 3.27/1.69       => ( ~ ( member @ r @ R3 @ ( rID_G @ r @ l @ v @ S ) )
% 3.27/1.69         => ( revisi1433015572elaxed @ r @ l @ v @ subst @ R2 @ S
% 3.27/1.69            @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) @ R3
% 3.27/1.69              @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 3.27/1.69                @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 3.27/1.69                  @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 3.27/1.69                    @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 3.27/1.69                    @ E5 ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_79_revision__step_Ofork,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,E5: expr @ r @ l @ v,R3: r] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 3.27/1.69       => ( ~ ( member @ r @ R3 @ ( rID_G @ r @ l @ v @ S ) )
% 3.27/1.69         => ( revision_step @ r @ l @ v @ subst @ R2 @ S
% 3.27/1.69            @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) @ R3
% 3.27/1.69              @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 3.27/1.69                @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 3.27/1.69                  @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 3.27/1.69                    @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 3.27/1.69                    @ E5 ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_80__092_060alpha_062r_H__fresh,axiom,
% 3.27/1.69      ~ ( member @ r @ ( alpha @ r3 ) @ ( rID_G @ r @ l @ v @ ( r_G @ r @ l @ v @ alpha @ beta @ s ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_81_substitution_Orevision__step__relaxed_Ofork,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,E5: expr @ R @ L @ V,R3: R] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 3.27/1.69         => ( ~ ( member @ R @ R3 @ ( rID_G @ R @ L @ V @ S ) )
% 3.27/1.69           => ( revisi1433015572elaxed @ R @ L @ V @ Subst @ R2 @ S
% 3.27/1.69              @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) @ R3
% 3.27/1.69                @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 3.27/1.69                  @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 3.27/1.69                    @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 3.27/1.69                      @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 3.27/1.69                      @ E5 ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_82_substitution_Ofork__pseudodeterministic,axiom,
% 3.27/1.69      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,E5: expr @ R @ L @ V,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 3.27/1.69         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69            = ( ? [R4: R] :
% 3.27/1.69                  ( ~ ( member @ R @ R4 @ ( rID_G @ R @ L @ V @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) ) ) )
% 3.27/1.69                  & ( S2
% 3.27/1.69                    = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R4 ) ) ) ) ) ) ) @ R4
% 3.27/1.69                      @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 3.27/1.69                        @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 3.27/1.69                          @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 3.27/1.69                            @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 3.27/1.69                            @ E5 ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_83_local_Ostep,axiom,
% 3.27/1.69      revision_step @ r @ l @ v @ subst @ r2 @ s @ s2 ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_84_substitution__axioms,axiom,
% 3.27/1.69      substitution @ r @ l @ v @ subst ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_85_rename__empty_I2_J,axiom,
% 3.27/1.69      ! [A: $tType,D2: $tType,B: $tType,Alpha2: B > B,Beta2: A > A] :
% 3.27/1.69        ( ( r_G @ B @ A @ D2 @ Alpha2 @ Beta2
% 3.27/1.69          @ ^ [X2: B] : ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ D2 ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ D2 ) ) ) @ ( expr @ B @ A @ D2 ) ) ) ) )
% 3.27/1.69        = ( ^ [X2: B] : ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ D2 ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ D2 ) ) ) @ ( expr @ B @ A @ D2 ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_86_in__restricted__global__in__unrestricted__global_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,R3: A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 3.27/1.69        ( ( member @ A @ R3 @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) )
% 3.27/1.69       => ( member @ A @ R3 @ ( rID_G @ A @ B @ C @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_87_only__fork__introduces__rids_H,axiom,
% 3.27/1.69      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69       => ( ! [Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E6: cntxt @ r @ l @ v,E3: expr @ r @ l @ v] :
% 3.27/1.69              ( ( S @ R2 )
% 3.27/1.69             != ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ ( plug @ r @ l @ v @ E6 @ ( rfork @ r @ l @ v @ E3 ) ) ) ) ) )
% 3.27/1.69         => ( ~ ( member @ r @ R3 @ ( rID_G @ r @ l @ v @ S ) )
% 3.27/1.69           => ~ ( member @ r @ R3 @ ( rID_G @ r @ l @ v @ S2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_88_in__restricted__global__in__updated__global_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,R3: A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 3.27/1.69        ( ( member @ A @ R3 @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) )
% 3.27/1.69       => ( member @ A @ R3 @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ Ls ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_89_fork__pseudodeterministic,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,E5: expr @ r @ l @ v,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 3.27/1.69       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69          = ( ? [R4: r] :
% 3.27/1.69                ( ~ ( member @ r @ R4 @ ( rID_G @ r @ l @ v @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) ) ) )
% 3.27/1.69                & ( S2
% 3.27/1.69                  = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R4 ) ) ) ) ) ) ) @ R4
% 3.27/1.69                    @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 3.27/1.69                      @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 3.27/1.69                        @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 3.27/1.69                          @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 3.27/1.69                          @ E5 ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_90_substitution_Orevision__step_Ocong,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType] :
% 3.27/1.69        ( ( revision_step @ R @ L @ V )
% 3.27/1.69        = ( revision_step @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_91_substitution_Orevision__step__relaxed_Ocong,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType] :
% 3.27/1.69        ( ( revisi1433015572elaxed @ R @ L @ V )
% 3.27/1.69        = ( revisi1433015572elaxed @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_92_substitution_Oonly__fork__introduces__rids_H,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69         => ( ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E6: cntxt @ R @ L @ V,E3: expr @ R @ L @ V] :
% 3.27/1.69                ( ( S @ R2 )
% 3.27/1.69               != ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ ( plug @ R @ L @ V @ E6 @ ( rfork @ R @ L @ V @ E3 ) ) ) ) ) )
% 3.27/1.69           => ( ~ ( member @ R @ R3 @ ( rID_G @ R @ L @ V @ S ) )
% 3.27/1.69             => ~ ( member @ R @ R3 @ ( rID_G @ R @ L @ V @ S2 ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_93_substitution_Orevision__step_Ofork,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,E5: expr @ R @ L @ V,R3: R] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 3.27/1.69         => ( ~ ( member @ R @ R3 @ ( rID_G @ R @ L @ V @ S ) )
% 3.27/1.69           => ( revision_step @ R @ L @ V @ Subst @ R2 @ S
% 3.27/1.69              @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) @ R3
% 3.27/1.69                @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 3.27/1.69                  @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 3.27/1.69                    @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 3.27/1.69                      @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 3.27/1.69                      @ E5 ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_94_local__and__fork__commute,axiom,
% 3.27/1.69      ! [S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,X: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ),S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R5: r,E5: expr @ r @ l @ v] :
% 3.27/1.69        ( ( S_2
% 3.27/1.69          = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) )
% 3.27/1.69       => ( ( S_22
% 3.27/1.69            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) @ R5
% 3.27/1.69              @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 3.27/1.69                @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 3.27/1.69                  @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 3.27/1.69                    @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 3.27/1.69                    @ E5 ) ) ) ) )
% 3.27/1.69         => ( ( ( S_2 @ R3 )
% 3.27/1.69              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 3.27/1.69           => ( ~ ( member @ r @ R5 @ ( rID_G @ r @ l @ v @ S_2 ) )
% 3.27/1.69             => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22
% 3.27/1.69                  @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )
% 3.27/1.69                    @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) @ R5
% 3.27/1.69                      @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 3.27/1.69                        @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 3.27/1.69                          @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 3.27/1.69                            @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 3.27/1.69                            @ E5 ) ) ) )
% 3.27/1.69                    @ R2
% 3.27/1.69                    @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) )
% 3.27/1.69               => ( ( R2 != R3 )
% 3.27/1.69                 => ( ( R2 != R5 )
% 3.27/1.69                   => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69                        ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 3.27/1.69                        & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                          | ( S_2 = S_3 ) )
% 3.27/1.69                        & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                          | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_95_revision__step__relaxed_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69       => ( ( ( S @ R3 )
% 3.27/1.69            = ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) )
% 3.27/1.69         => ( revisi1433015572elaxed @ r @ l @ v @ subst @ R2 @ S
% 3.27/1.69            @ ^ [X2: r] : ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_96_revision__step_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69       => ( ( ( S @ R3 )
% 3.27/1.69            = ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) )
% 3.27/1.69         => ( revision_step @ r @ l @ v @ subst @ R2 @ S
% 3.27/1.69            @ ^ [X2: r] : ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_97_substitution_Olocal__and__fork__commute,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R5: R,E5: expr @ R @ L @ V] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( S_2
% 3.27/1.69            = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) )
% 3.27/1.69         => ( ( S_22
% 3.27/1.69              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) @ R5
% 3.27/1.69                @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 3.27/1.69                  @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 3.27/1.69                    @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 3.27/1.69                      @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 3.27/1.69                      @ E5 ) ) ) ) )
% 3.27/1.69           => ( ( ( S_2 @ R3 )
% 3.27/1.69                = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 3.27/1.69             => ( ~ ( member @ R @ R5 @ ( rID_G @ R @ L @ V @ S_2 ) )
% 3.27/1.69               => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22
% 3.27/1.69                    @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )
% 3.27/1.69                      @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) @ R5
% 3.27/1.69                        @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 3.27/1.69                          @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 3.27/1.69                            @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 3.27/1.69                              @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 3.27/1.69                              @ E5 ) ) ) )
% 3.27/1.69                      @ R2
% 3.27/1.69                      @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) )
% 3.27/1.69                 => ( ( R2 != R3 )
% 3.27/1.69                   => ( ( R2 != R5 )
% 3.27/1.69                     => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69                          ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 3.27/1.69                          & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                            | ( S_2 = S_3 ) )
% 3.27/1.69                          & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                            | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_98_local__steps__commute,axiom,
% 3.27/1.69      ! [S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,X: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ),S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,Y: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) )] :
% 3.27/1.69        ( ( S_2
% 3.27/1.69          = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) )
% 3.27/1.69       => ( ( S_22
% 3.27/1.69            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Y ) ) )
% 3.27/1.69         => ( ( revision_step @ r @ l @ v @ subst @ R3 @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Y ) ) )
% 3.27/1.69           => ( ( revision_step @ r @ l @ v @ subst @ R2 @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Y ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Y ) ) @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ X ) ) )
% 3.27/1.69             => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69                  ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 3.27/1.69                  & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                    | ( S_2 = S_3 ) )
% 3.27/1.69                  & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                    | ( S_22 = S_32 ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_99_transition__relations__equivalent,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( reachable @ r @ l @ v @ subst @ S )
% 3.27/1.69       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69          = ( revisi1433015572elaxed @ r @ l @ v @ subst @ R2 @ S @ S2 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_100_local__determinism,axiom,
% 3.27/1.69      ! [R2: r,S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_1 @ S_2 )
% 3.27/1.69       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_1 @ S_22 )
% 3.27/1.69         => ( eq_states @ r @ l @ v @ S_2 @ S_22 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_101_SLC__sym,axiom,
% 3.27/1.69      ! [R3: r,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ? [S_33: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_34: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69            ( ( eq_states @ r @ l @ v @ S_33 @ S_34 )
% 3.27/1.69            & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_33 )
% 3.27/1.69              | ( S_2 = S_33 ) )
% 3.27/1.69            & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_34 )
% 3.27/1.69              | ( S_22 = S_34 ) ) )
% 3.27/1.69       => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69            ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 3.27/1.69            & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_3 )
% 3.27/1.69              | ( S_22 = S_3 ) )
% 3.27/1.69            & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_32 )
% 3.27/1.69              | ( S_2 = S_32 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_102_SLC__commute,axiom,
% 3.27/1.69      ! [S_35: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_36: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( S_35 = S_36 )
% 3.27/1.69       => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_35 )
% 3.27/1.69         => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_36 )
% 3.27/1.69           => ( ( eq_states @ r @ l @ v @ S_35 @ S_36 )
% 3.27/1.69              & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_35 )
% 3.27/1.69                | ( S_2 = S_35 ) )
% 3.27/1.69              & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_36 )
% 3.27/1.69                | ( S_22 = S_36 ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_103_reachability__closed__under__execution__step,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( reachable @ r @ l @ v @ subst @ S )
% 3.27/1.69       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69         => ( reachable @ r @ l @ v @ subst @ S2 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_104_expr_Oinject_I8_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X8: expr @ R @ L @ V,Y8: expr @ R @ L @ V] :
% 3.27/1.69        ( ( ( rjoin @ R @ L @ V @ X8 )
% 3.27/1.69          = ( rjoin @ R @ L @ V @ Y8 ) )
% 3.27/1.69        = ( X8 = Y8 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_105_SLC__join_092_060_094sub_062_092_060epsilon_062,axiom,
% 3.27/1.69      ! [S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R5: r,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( ( S_1 @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) )
% 3.27/1.69       => ( ( S_2
% 3.27/1.69            = ( ^ [X2: r] : ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) )
% 3.27/1.69         => ( ( ( S_1 @ R5 )
% 3.27/1.69              = ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) )
% 3.27/1.69           => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69             => ( ( R2 != R3 )
% 3.27/1.69               => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69                    ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 3.27/1.69                    & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                      | ( S_2 = S_3 ) )
% 3.27/1.69                    & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_106_reachable__def,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( reachable @ r @ l @ v @ subst @ S )
% 3.27/1.69        = ( ? [E7: expr @ r @ l @ v,S3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] : ( execution @ r @ l @ v @ subst @ E7 @ S3 @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_107_rjoin_092_060_094sub_062_092_060epsilon_062__deterministic,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69       => ( ( ( S @ R3 )
% 3.27/1.69            = ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) )
% 3.27/1.69         => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69            = ( S2
% 3.27/1.69              = ( ^ [X2: r] : ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_108__092_060alpha_062_092_060beta_062__sym,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 3.27/1.69        ( ( eq_states @ A @ B @ C @ S @ S2 )
% 3.27/1.69       => ( eq_states @ A @ B @ C @ S2 @ S ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_109__092_060alpha_062_092_060beta_062__refl,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] : ( eq_states @ A @ B @ C @ S @ S ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_110__092_060alpha_062_092_060beta_062__trans,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S4: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 3.27/1.69        ( ( eq_states @ A @ B @ C @ S @ S2 )
% 3.27/1.69       => ( ( eq_states @ A @ B @ C @ S2 @ S4 )
% 3.27/1.69         => ( eq_states @ A @ B @ C @ S @ S4 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_111_expr_Odistinct_I13_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X1: val @ R @ L @ V,X8: expr @ R @ L @ V] :
% 3.27/1.69        ( ( ve @ R @ L @ V @ X1 )
% 3.27/1.69       != ( rjoin @ R @ L @ V @ X8 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_112_expr_Odistinct_I55_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X7: expr @ R @ L @ V,X8: expr @ R @ L @ V] :
% 3.27/1.69        ( ( rfork @ R @ L @ V @ X7 )
% 3.27/1.69       != ( rjoin @ R @ L @ V @ X8 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_113_substitution_Olocal__determinism,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_1 @ S_2 )
% 3.27/1.69         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_1 @ S_22 )
% 3.27/1.69           => ( eq_states @ R @ L @ V @ S_2 @ S_22 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_114_substitution_OSLC__commute,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_35: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_36: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( S_35 = S_36 )
% 3.27/1.69         => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_35 )
% 3.27/1.69           => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_36 )
% 3.27/1.69             => ( ( eq_states @ R @ L @ V @ S_35 @ S_36 )
% 3.27/1.69                & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_35 )
% 3.27/1.69                  | ( S_2 = S_35 ) )
% 3.27/1.69                & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_36 )
% 3.27/1.69                  | ( S_22 = S_36 ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_115_substitution_OSLC__sym,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R3: R,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ? [S_33: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_34: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69              ( ( eq_states @ R @ L @ V @ S_33 @ S_34 )
% 3.27/1.69              & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_33 )
% 3.27/1.69                | ( S_2 = S_33 ) )
% 3.27/1.69              & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_34 )
% 3.27/1.69                | ( S_22 = S_34 ) ) )
% 3.27/1.69         => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69              ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 3.27/1.69              & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_3 )
% 3.27/1.69                | ( S_22 = S_3 ) )
% 3.27/1.69              & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_32 )
% 3.27/1.69                | ( S_2 = S_32 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_116_substitution_OSLC__join_092_060_094sub_062_092_060epsilon_062,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R5: R,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S_1 @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) )
% 3.27/1.69         => ( ( S_2
% 3.27/1.69              = ( ^ [X2: R] : ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) )
% 3.27/1.69           => ( ( ( S_1 @ R5 )
% 3.27/1.69                = ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) )
% 3.27/1.69             => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69               => ( ( R2 != R3 )
% 3.27/1.69                 => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69                      ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 3.27/1.69                      & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                        | ( S_2 = S_3 ) )
% 3.27/1.69                      & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                        | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_117_substitution_Olocal__steps__commute,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,X: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,Y: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( S_2
% 3.27/1.69            = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) )
% 3.27/1.69         => ( ( S_22
% 3.27/1.69              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Y ) ) )
% 3.27/1.69           => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Y ) ) )
% 3.27/1.69             => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Y ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Y ) ) @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ X ) ) )
% 3.27/1.69               => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69                    ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 3.27/1.69                    & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                      | ( S_2 = S_3 ) )
% 3.27/1.69                    & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_118_substitution_Orjoin_092_060_094sub_062_092_060epsilon_062__deterministic,axiom,
% 3.27/1.69      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69         => ( ( ( S @ R3 )
% 3.27/1.69              = ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) )
% 3.27/1.69           => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69              = ( S2
% 3.27/1.69                = ( ^ [X2: R] : ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_119_substitution_Orevision__step_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
% 3.27/1.69      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69         => ( ( ( S @ R3 )
% 3.27/1.69              = ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) )
% 3.27/1.69           => ( revision_step @ R @ L @ V @ Subst @ R2 @ S
% 3.27/1.69              @ ^ [X2: R] : ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_120_substitution_Orevision__step__relaxed_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
% 3.27/1.69      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69         => ( ( ( S @ R3 )
% 3.27/1.69              = ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) )
% 3.27/1.69           => ( revisi1433015572elaxed @ R @ L @ V @ Subst @ R2 @ S
% 3.27/1.69              @ ^ [X2: R] : ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_121_inductive__invariant__is__execution__invariant,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),P: ( r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) > $o] :
% 3.27/1.69        ( ( reachable @ r @ l @ v @ subst @ S )
% 3.27/1.69       => ( ( inductive_invariant @ r @ l @ v @ subst @ P )
% 3.27/1.69         => ( P @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_122_reachable__imp___092_060S_062_092_060_094sub_062G,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( reachable @ r @ l @ v @ subst @ S )
% 3.27/1.69       => ( domain398919503obally @ r @ l @ v @ S ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_123_substitution_Otransition__relations__equivalent,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 3.27/1.69         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69            = ( revisi1433015572elaxed @ R @ L @ V @ Subst @ R2 @ S @ S2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_124_SLC__fork,axiom,
% 3.27/1.69      ! [S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,E5: expr @ r @ l @ v,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),Left_forkee: r,R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( ( S_1 @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rfork @ r @ l @ v @ E5 ) ) ) ) ) )
% 3.27/1.69       => ( ( S_2
% 3.27/1.69            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ Left_forkee ) ) ) ) ) ) ) @ Left_forkee
% 3.27/1.69              @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) )
% 3.27/1.69                @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Sigma2 @ Tau2 )
% 3.27/1.69                  @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v )
% 3.27/1.69                    @ ^ [X2: l] : ( none @ ( val @ r @ l @ v ) )
% 3.27/1.69                    @ E5 ) ) ) ) )
% 3.27/1.69         => ( ~ ( member @ r @ Left_forkee @ ( rID_G @ r @ l @ v @ S_1 ) )
% 3.27/1.69           => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69             => ( ( R2 != R3 )
% 3.27/1.69               => ( ( reachable @ r @ l @ v @ subst @ S_1 )
% 3.27/1.69                 => ( ~ ( finite_finite2 @ r @ ( top_top @ ( set @ r ) ) )
% 3.27/1.69                   => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69                        ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 3.27/1.69                        & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                          | ( S_2 = S_3 ) )
% 3.27/1.69                        & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                          | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_125_join__and__local__commute,axiom,
% 3.27/1.69      ! [S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R5: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,Ls: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ),Sigma3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v] :
% 3.27/1.69        ( ( S_2
% 3.27/1.69          = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) )
% 3.27/1.69       => ( ( S_22
% 3.27/1.69            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Ls ) ) )
% 3.27/1.69         => ( ( R2 != R3 )
% 3.27/1.69           => ( ( R3 != R5 )
% 3.27/1.69             => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) @ R3 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Ls ) ) )
% 3.27/1.69               => ( ( ( S_22 @ R2 )
% 3.27/1.69                    = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) )
% 3.27/1.69                 => ( ( ( S_22 @ R5 )
% 3.27/1.69                      = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 3.27/1.69                   => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69                        ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 3.27/1.69                        & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                          | ( S_2 = S_3 ) )
% 3.27/1.69                        & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                          | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_126_empty__map__finite_I3_J,axiom,
% 3.27/1.69      ! [H: $tType,I: $tType,G2: $tType] :
% 3.27/1.69        ( finite_finite2 @ G2
% 3.27/1.69        @ ( rID_G @ G2 @ H @ I
% 3.27/1.69          @ ^ [X2: G2] : ( none @ ( product_prod @ ( H > ( option @ ( val @ G2 @ H @ I ) ) ) @ ( product_prod @ ( H > ( option @ ( val @ G2 @ H @ I ) ) ) @ ( expr @ G2 @ H @ I ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_127_val_Oinject_I1_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X1: const,Y1: const] :
% 3.27/1.69        ( ( ( cv @ R @ L @ V @ X1 )
% 3.27/1.69          = ( cv @ R @ L @ V @ Y1 ) )
% 3.27/1.69        = ( X1 = Y1 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_128_RID_092_060_094sub_062G__finite__invariant,axiom,
% 3.27/1.69      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69       => ( ( finite_finite2 @ r @ ( rID_G @ r @ l @ v @ S ) )
% 3.27/1.69         => ( finite_finite2 @ r @ ( rID_G @ r @ l @ v @ S2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_129_reachable__imp__identifiers__finite_I1_J,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( reachable @ r @ l @ v @ subst @ S )
% 3.27/1.69       => ( finite_finite2 @ r @ ( rID_G @ r @ l @ v @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_130_reachable__imp__identifiers__available_I1_J,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( reachable @ r @ l @ v @ subst @ S )
% 3.27/1.69       => ( ~ ( finite_finite2 @ r @ ( top_top @ ( set @ r ) ) )
% 3.27/1.69         => ? [R6: r] :
% 3.27/1.69              ~ ( member @ r @ R6 @ ( rID_G @ r @ l @ v @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_131_finite__option__UNIV,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( finite_finite2 @ ( option @ A ) @ ( top_top @ ( set @ ( option @ A ) ) ) )
% 3.27/1.69        = ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_132_domains__subsume__globally__def,axiom,
% 3.27/1.69      ( ( domain398919503obally @ r @ l @ v )
% 3.27/1.69      = ( ^ [S5: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69          ! [R7: r,Ls2: product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) )] :
% 3.27/1.69            ( ( ( S5 @ R7 )
% 3.27/1.69              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ Ls2 ) )
% 3.27/1.69           => ( domains_subsume @ l @ r @ v @ Ls2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_133_finite__state__imp__restriction__finite_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 3.27/1.69        ( ( finite_finite2 @ A @ ( rID_G @ A @ B @ C @ S ) )
% 3.27/1.69       => ( finite_finite2 @ A @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_134_revision__step_Ojoin,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r,Sigma3: l > ( option @ ( val @ r @ l @ v ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69       => ( ( ( S @ R3 )
% 3.27/1.69            = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 3.27/1.69         => ( revision_step @ r @ l @ v @ subst @ R2 @ S @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_135_revision__step__relaxed_Ojoin,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r,Sigma3: l > ( option @ ( val @ r @ l @ v ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69       => ( ( ( S @ R3 )
% 3.27/1.69            = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 3.27/1.69         => ( revisi1433015572elaxed @ r @ l @ v @ subst @ R2 @ S @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_136_SLC__join,axiom,
% 3.27/1.69      ! [S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R5: r,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),Sigma3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v,R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( ( S_1 @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R5 ) ) ) ) ) ) ) )
% 3.27/1.69       => ( ( S_2
% 3.27/1.69            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) )
% 3.27/1.69         => ( ( ( S_1 @ R5 )
% 3.27/1.69              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 3.27/1.69           => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69             => ( ( R2 != R3 )
% 3.27/1.69               => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69                    ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 3.27/1.69                    & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                      | ( S_2 = S_3 ) )
% 3.27/1.69                    & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_137_bij___092_060alpha_062,axiom,
% 3.27/1.69      bij_betw @ r @ r @ alpha @ ( top_top @ ( set @ r ) ) @ ( top_top @ ( set @ r ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_138_rjoin__deterministic,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,R3: r,Sigma3: l > ( option @ ( val @ r @ l @ v ) ),Tau3: l > ( option @ ( val @ r @ l @ v ) ),V2: val @ r @ l @ v,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( rjoin @ r @ l @ v @ ( ve @ r @ l @ v @ ( rid @ r @ l @ v @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69       => ( ( ( S @ R3 )
% 3.27/1.69            = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma3 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau3 @ ( ve @ r @ l @ v @ V2 ) ) ) ) )
% 3.27/1.69         => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69            = ( S2
% 3.27/1.69              = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( combine @ l @ ( val @ r @ l @ v ) @ Tau2 @ Tau3 ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( cv @ r @ l @ v @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_139_substitution_Oexecution_Ocong,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType] :
% 3.27/1.69        ( ( execution @ R @ L @ V )
% 3.27/1.69        = ( execution @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_140_substitution_Oinductive__invariant_Ocong,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType] :
% 3.27/1.69        ( ( inductive_invariant @ R @ L @ V )
% 3.27/1.69        = ( inductive_invariant @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_141_val_Odistinct_I5_J,axiom,
% 3.27/1.69      ! [L: $tType,V: $tType,R: $tType,X1: const,X4: R] :
% 3.27/1.69        ( ( cv @ R @ L @ V @ X1 )
% 3.27/1.69       != ( rid @ R @ L @ V @ X4 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_142_substitution_Oreachable__imp__identifiers__available_I1_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 3.27/1.69         => ( ~ ( finite_finite2 @ R @ ( top_top @ ( set @ R ) ) )
% 3.27/1.69           => ? [R6: R] :
% 3.27/1.69                ~ ( member @ R @ R6 @ ( rID_G @ R @ L @ V @ S ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_143_substitution_Ostrong__local__confluence,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_1 @ S_2 )
% 3.27/1.69         => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69           => ( ( reachable @ R @ L @ V @ Subst @ S_1 )
% 3.27/1.69             => ( ~ ( finite_finite2 @ L @ ( top_top @ ( set @ L ) ) )
% 3.27/1.69               => ( ~ ( finite_finite2 @ R @ ( top_top @ ( set @ R ) ) )
% 3.27/1.69                 => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69                      ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 3.27/1.69                      & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                        | ( S_2 = S_3 ) )
% 3.27/1.69                      & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                        | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_144_substitution_ORID_092_060_094sub_062G__finite__invariant,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69         => ( ( finite_finite2 @ R @ ( rID_G @ R @ L @ V @ S ) )
% 3.27/1.69           => ( finite_finite2 @ R @ ( rID_G @ R @ L @ V @ S2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_145_substitution_Oreachable__imp__identifiers__finite_I1_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 3.27/1.69         => ( finite_finite2 @ R @ ( rID_G @ R @ L @ V @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_146_substitution_Oreachable__imp___092_060S_062_092_060_094sub_062G,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 3.27/1.69         => ( domain398919503obally @ R @ L @ V @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_147_substitution_Oinductive__invariant__is__execution__invariant,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),P: ( R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) > $o] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 3.27/1.69         => ( ( inductive_invariant @ R @ L @ V @ Subst @ P )
% 3.27/1.69           => ( P @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_148_substitution_Oempty__map__finite_I3_J,axiom,
% 3.27/1.69      ! [R: $tType,L: $tType,V: $tType,H: $tType,I: $tType,G2: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( finite_finite2 @ G2
% 3.27/1.69          @ ( rID_G @ G2 @ H @ I
% 3.27/1.69            @ ^ [X2: G2] : ( none @ ( product_prod @ ( H > ( option @ ( val @ G2 @ H @ I ) ) ) @ ( product_prod @ ( H > ( option @ ( val @ G2 @ H @ I ) ) ) @ ( expr @ G2 @ H @ I ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_149_substitution_Oreachable__def,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 3.27/1.69          = ( ? [E7: expr @ R @ L @ V,S3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] : ( execution @ R @ L @ V @ Subst @ E7 @ S3 @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_150_substitution_Ofinite__state__imp__restriction__finite_I1_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,C: $tType,A: $tType,B: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( finite_finite2 @ A @ ( rID_G @ A @ B @ C @ S ) )
% 3.27/1.69         => ( finite_finite2 @ A @ ( rID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_151_substitution_Oreachable_Ocong,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType] :
% 3.27/1.69        ( ( reachable @ R @ L @ V )
% 3.27/1.69        = ( reachable @ R @ L @ V ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_152_substitution_Orevision__step_Ojoin,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R,Sigma3: L > ( option @ ( val @ R @ L @ V ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69         => ( ( ( S @ R3 )
% 3.27/1.69              = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 3.27/1.69           => ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_153_substitution_Orjoin__deterministic,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R,Sigma3: L > ( option @ ( val @ R @ L @ V ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69         => ( ( ( S @ R3 )
% 3.27/1.69              = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 3.27/1.69           => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69              = ( S2
% 3.27/1.69                = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_154_substitution_Orevision__step__relaxed_Ojoin,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R3: R,Sigma3: L > ( option @ ( val @ R @ L @ V ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R3 ) ) ) ) ) ) ) )
% 3.27/1.69         => ( ( ( S @ R3 )
% 3.27/1.69              = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 3.27/1.69           => ( revisi1433015572elaxed @ R @ L @ V @ Subst @ R2 @ S @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R3 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_155_substitution_Ojoin__and__local__commute,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R5: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R3: R,Ls: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ),Sigma3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( S_2
% 3.27/1.69            = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) )
% 3.27/1.69         => ( ( S_22
% 3.27/1.69              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Ls ) ) )
% 3.27/1.69           => ( ( R2 != R3 )
% 3.27/1.69             => ( ( R3 != R5 )
% 3.27/1.69               => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) @ R3 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Ls ) ) )
% 3.27/1.69                 => ( ( ( S_22 @ R2 )
% 3.27/1.69                      = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) )
% 3.27/1.69                   => ( ( ( S_22 @ R5 )
% 3.27/1.69                        = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 3.27/1.69                     => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69                          ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 3.27/1.69                          & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                            | ( S_2 = S_3 ) )
% 3.27/1.69                          & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                            | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_156_substitution_OSLC__join,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,R5: R,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),Tau3: L > ( option @ ( val @ R @ L @ V ) ),Sigma3: L > ( option @ ( val @ R @ L @ V ) ),V2: val @ R @ L @ V,R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S_1 @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rjoin @ R @ L @ V @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ R5 ) ) ) ) ) ) ) )
% 3.27/1.69         => ( ( S_2
% 3.27/1.69              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Tau2 @ Tau3 ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( cv @ R @ L @ V @ unit ) ) ) ) ) ) ) @ R5 @ ( none @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) ) )
% 3.27/1.69           => ( ( ( S_1 @ R5 )
% 3.27/1.69                = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma3 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau3 @ ( ve @ R @ L @ V @ V2 ) ) ) ) )
% 3.27/1.69             => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69               => ( ( R2 != R3 )
% 3.27/1.69                 => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69                      ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 3.27/1.69                      & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                        | ( S_2 = S_3 ) )
% 3.27/1.69                      & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                        | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_157_substitution_OSLC__fork,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,E5: expr @ R @ L @ V,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),Left_forkee: R,R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S_1 @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( rfork @ R @ L @ V @ E5 ) ) ) ) ) )
% 3.27/1.69         => ( ( S_2
% 3.27/1.69              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( rid @ R @ L @ V @ Left_forkee ) ) ) ) ) ) ) @ Left_forkee
% 3.27/1.69                @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) )
% 3.27/1.69                  @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ ( combine @ L @ ( val @ R @ L @ V ) @ Sigma2 @ Tau2 )
% 3.27/1.69                    @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V )
% 3.27/1.69                      @ ^ [X2: L] : ( none @ ( val @ R @ L @ V ) )
% 3.27/1.69                      @ E5 ) ) ) ) )
% 3.27/1.69           => ( ~ ( member @ R @ Left_forkee @ ( rID_G @ R @ L @ V @ S_1 ) )
% 3.27/1.69             => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69               => ( ( R2 != R3 )
% 3.27/1.69                 => ( ( reachable @ R @ L @ V @ Subst @ S_1 )
% 3.27/1.69                   => ( ~ ( finite_finite2 @ R @ ( top_top @ ( set @ R ) ) )
% 3.27/1.69                     => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69                          ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 3.27/1.69                          & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                            | ( S_2 = S_3 ) )
% 3.27/1.69                          & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                            | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_158_substitution_Oreachability__closed__under__execution__step,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 3.27/1.69         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69           => ( reachable @ R @ L @ V @ Subst @ S2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_159_nice__ind__inv__is__inductive__invariant,axiom,
% 3.27/1.69      ( inductive_invariant @ r @ l @ v @ subst
% 3.27/1.69      @ ^ [S5: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69          ( ( domain398919503obally @ r @ l @ v @ S5 )
% 3.27/1.69          & ( subsum380726323obally @ r @ l @ v @ S5 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_160_step__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I2_J,axiom,
% 3.27/1.69      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69       => ( ( domain398919503obally @ r @ l @ v @ S )
% 3.27/1.69         => ( ( subsum380726323obally @ r @ l @ v @ S )
% 3.27/1.69           => ( subsum380726323obally @ r @ l @ v @ S2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_161_step__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I1_J,axiom,
% 3.27/1.69      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69       => ( ( domain398919503obally @ r @ l @ v @ S )
% 3.27/1.69         => ( ( subsum380726323obally @ r @ l @ v @ S )
% 3.27/1.69           => ( domain398919503obally @ r @ l @ v @ S2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_162_finite__Collect__not,axiom,
% 3.27/1.69      ! [A: $tType,P: A > $o] :
% 3.27/1.69        ( ( finite_finite2 @ A @ ( collect @ A @ P ) )
% 3.27/1.69       => ( ( finite_finite2 @ A
% 3.27/1.69            @ ( collect @ A
% 3.27/1.69              @ ^ [X2: A] :
% 3.27/1.69                  ~ ( P @ X2 ) ) )
% 3.27/1.69          = ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_163_in__renamed__in__unlabelled__global_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,Beta2: B > B,R2: A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 3.27/1.69        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69         => ( ( member @ A @ ( Alpha2 @ R2 ) @ ( rID_G @ A @ B @ C @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) )
% 3.27/1.69            = ( member @ A @ R2 @ ( rID_G @ A @ B @ C @ S ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_164_finite__code,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( finite_finite @ A )
% 3.27/1.69       => ( ( finite_finite2 @ A )
% 3.27/1.69          = ( ^ [A7: set @ A] : $true ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_165_finite__Collect__conjI,axiom,
% 3.27/1.69      ! [A: $tType,P: A > $o,Q: A > $o] :
% 3.27/1.69        ( ( ( finite_finite2 @ A @ ( collect @ A @ P ) )
% 3.27/1.69          | ( finite_finite2 @ A @ ( collect @ A @ Q ) ) )
% 3.27/1.69       => ( finite_finite2 @ A
% 3.27/1.69          @ ( collect @ A
% 3.27/1.69            @ ^ [X2: A] :
% 3.27/1.69                ( ( P @ X2 )
% 3.27/1.69                & ( Q @ X2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_166_finite__Collect__disjI,axiom,
% 3.27/1.69      ! [A: $tType,P: A > $o,Q: A > $o] :
% 3.27/1.69        ( ( finite_finite2 @ A
% 3.27/1.69          @ ( collect @ A
% 3.27/1.69            @ ^ [X2: A] :
% 3.27/1.69                ( ( P @ X2 )
% 3.27/1.69                | ( Q @ X2 ) ) ) )
% 3.27/1.69        = ( ( finite_finite2 @ A @ ( collect @ A @ P ) )
% 3.27/1.69          & ( finite_finite2 @ A @ ( collect @ A @ Q ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_167_strong__local__confluence,axiom,
% 3.27/1.69      ! [R2: r,S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_1 @ S_2 )
% 3.27/1.69       => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69         => ( ( reachable @ r @ l @ v @ subst @ S_1 )
% 3.27/1.69           => ( ~ ( finite_finite2 @ l @ ( top_top @ ( set @ l ) ) )
% 3.27/1.69             => ( ~ ( finite_finite2 @ r @ ( top_top @ ( set @ r ) ) )
% 3.27/1.69               => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69                    ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 3.27/1.69                    & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                      | ( S_2 = S_3 ) )
% 3.27/1.69                    & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_168_finite__Plus__UNIV__iff,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType] :
% 3.27/1.69        ( ( finite_finite2 @ ( sum_sum @ A @ B ) @ ( top_top @ ( set @ ( sum_sum @ A @ B ) ) ) )
% 3.27/1.69        = ( ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69          & ( finite_finite2 @ B @ ( top_top @ ( set @ B ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_169_eq__statesI,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,Beta2: B > B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 3.27/1.69        ( ( ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S )
% 3.27/1.69          = S2 )
% 3.27/1.69       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69           => ( eq_states @ A @ B @ C @ S @ S2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_170_renaming__distr__global_I2_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,Alpha2: A > A,Beta2: B > B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 3.27/1.69        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) )
% 3.27/1.69          = ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) @ ( Alpha2 @ R2 ) @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_171_domains__subsume__globallyI,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ! [R6: r,Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E3: expr @ r @ l @ v] :
% 3.27/1.69            ( ( ( S @ R6 )
% 3.27/1.69              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ E3 ) ) ) )
% 3.27/1.69           => ( domains_subsume @ l @ r @ v @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ E3 ) ) ) )
% 3.27/1.69       => ( domain398919503obally @ r @ l @ v @ S ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_172_bij___092_060beta_062,axiom,
% 3.27/1.69      bij_betw @ l @ l @ beta @ ( top_top @ ( set @ l ) ) @ ( top_top @ ( set @ l ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_173_bij__betw__finite,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,F: A > B,A6: set @ A,B6: set @ B] :
% 3.27/1.69        ( ( bij_betw @ A @ B @ F @ A6 @ B6 )
% 3.27/1.69       => ( ( finite_finite2 @ A @ A6 )
% 3.27/1.69          = ( finite_finite2 @ B @ B6 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_174_bij__pointE,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,F: A > B,Y: B] :
% 3.27/1.69        ( ( bij_betw @ A @ B @ F @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69       => ~ ! [X3: A] :
% 3.27/1.69              ( ( Y
% 3.27/1.69                = ( F @ X3 ) )
% 3.27/1.69             => ~ ! [X9: A] :
% 3.27/1.69                    ( ( Y
% 3.27/1.69                      = ( F @ X9 ) )
% 3.27/1.69                   => ( X9 = X3 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_175_bij__betwE,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,F: A > B,A6: set @ A,B6: set @ B] :
% 3.27/1.69        ( ( bij_betw @ A @ B @ F @ A6 @ B6 )
% 3.27/1.69       => ! [X10: A] :
% 3.27/1.69            ( ( member @ A @ X10 @ A6 )
% 3.27/1.69           => ( member @ B @ ( F @ X10 ) @ B6 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_176_bij__betw__inv,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,F: A > B,A6: set @ A,B6: set @ B] :
% 3.27/1.69        ( ( bij_betw @ A @ B @ F @ A6 @ B6 )
% 3.27/1.69       => ? [G3: B > A] : ( bij_betw @ B @ A @ G3 @ B6 @ A6 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_177_bij__betw__cong,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,A6: set @ A,F: A > B,G: A > B,A8: set @ B] :
% 3.27/1.69        ( ! [A4: A] :
% 3.27/1.69            ( ( member @ A @ A4 @ A6 )
% 3.27/1.69           => ( ( F @ A4 )
% 3.27/1.69              = ( G @ A4 ) ) )
% 3.27/1.69       => ( ( bij_betw @ A @ B @ F @ A6 @ A8 )
% 3.27/1.69          = ( bij_betw @ A @ B @ G @ A6 @ A8 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_178_bij__betw__apply,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType,F: A > B,A6: set @ A,B6: set @ B,A2: A] :
% 3.27/1.69        ( ( bij_betw @ A @ B @ F @ A6 @ B6 )
% 3.27/1.69       => ( ( member @ A @ A2 @ A6 )
% 3.27/1.69         => ( member @ B @ ( F @ A2 ) @ B6 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_179_bij__betw__iff__bijections,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType] :
% 3.27/1.69        ( ( bij_betw @ A @ B )
% 3.27/1.69        = ( ^ [F2: A > B,A7: set @ A,B7: set @ B] :
% 3.27/1.69            ? [G4: B > A] :
% 3.27/1.69              ( ! [X2: A] :
% 3.27/1.69                  ( ( member @ A @ X2 @ A7 )
% 3.27/1.69                 => ( ( member @ B @ ( F2 @ X2 ) @ B7 )
% 3.27/1.69                    & ( ( G4 @ ( F2 @ X2 ) )
% 3.27/1.69                      = X2 ) ) )
% 3.27/1.69              & ! [X2: B] :
% 3.27/1.69                  ( ( member @ B @ X2 @ B7 )
% 3.27/1.69                 => ( ( member @ A @ ( G4 @ X2 ) @ A7 )
% 3.27/1.69                    & ( ( F2 @ ( G4 @ X2 ) )
% 3.27/1.69                      = X2 ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_180_eq__statesE,axiom,
% 3.27/1.69      ! [A: $tType,C: $tType,B: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 3.27/1.69        ( ( eq_states @ A @ B @ C @ S @ S2 )
% 3.27/1.69       => ~ ! [Alpha: A > A,Beta: B > B] :
% 3.27/1.69              ( ( ( r_G @ A @ B @ C @ Alpha @ Beta @ S )
% 3.27/1.69                = S2 )
% 3.27/1.69             => ( ( bij_betw @ A @ A @ Alpha @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69               => ~ ( bij_betw @ B @ B @ Beta @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_181_eq__states__def,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType] :
% 3.27/1.69        ( ( eq_states @ R @ L @ V )
% 3.27/1.69        = ( ^ [S5: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69            ? [Alpha3: R > R,Beta3: L > L] :
% 3.27/1.69              ( ( bij_betw @ R @ R @ Alpha3 @ ( top_top @ ( set @ R ) ) @ ( top_top @ ( set @ R ) ) )
% 3.27/1.69              & ( bij_betw @ L @ L @ Beta3 @ ( top_top @ ( set @ L ) ) @ ( top_top @ ( set @ L ) ) )
% 3.27/1.69              & ( ( r_G @ R @ L @ V @ Alpha3 @ Beta3 @ S5 )
% 3.27/1.69                = S3 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_182_finite,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( finite_finite @ A )
% 3.27/1.69       => ! [A6: set @ A] : ( finite_finite2 @ A @ A6 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_183_finite__set__choice,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,A6: set @ A,P: A > B > $o] :
% 3.27/1.69        ( ( finite_finite2 @ A @ A6 )
% 3.27/1.69       => ( ! [X3: A] :
% 3.27/1.69              ( ( member @ A @ X3 @ A6 )
% 3.27/1.69             => ? [X_1: B] : ( P @ X3 @ X_1 ) )
% 3.27/1.69         => ? [F4: A > B] :
% 3.27/1.69            ! [X10: A] :
% 3.27/1.69              ( ( member @ A @ X10 @ A6 )
% 3.27/1.69             => ( P @ X10 @ ( F4 @ X10 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_184_substitution_Oin__renamed__in__unlabelled__global_I1_J,axiom,
% 3.27/1.69      ! [R: $tType,L: $tType,V: $tType,C: $tType,B: $tType,A: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),Alpha2: A > A,Beta2: B > B,R2: A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69           => ( ( member @ A @ ( Alpha2 @ R2 ) @ ( rID_G @ A @ B @ C @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) )
% 3.27/1.69              = ( member @ A @ R2 @ ( rID_G @ A @ B @ C @ S ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_185_not__finite__existsD,axiom,
% 3.27/1.69      ! [A: $tType,P: A > $o] :
% 3.27/1.69        ( ~ ( finite_finite2 @ A @ ( collect @ A @ P ) )
% 3.27/1.69       => ? [X_12: A] : ( P @ X_12 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_186_pigeonhole__infinite__rel,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,A6: set @ A,B6: set @ B,R8: A > B > $o] :
% 3.27/1.69        ( ~ ( finite_finite2 @ A @ A6 )
% 3.27/1.69       => ( ( finite_finite2 @ B @ B6 )
% 3.27/1.69         => ( ! [X3: A] :
% 3.27/1.69                ( ( member @ A @ X3 @ A6 )
% 3.27/1.69               => ? [Xa2: B] :
% 3.27/1.69                    ( ( member @ B @ Xa2 @ B6 )
% 3.27/1.69                    & ( R8 @ X3 @ Xa2 ) ) )
% 3.27/1.69           => ? [X3: B] :
% 3.27/1.69                ( ( member @ B @ X3 @ B6 )
% 3.27/1.69                & ~ ( finite_finite2 @ A
% 3.27/1.69                    @ ( collect @ A
% 3.27/1.69                      @ ^ [A5: A] :
% 3.27/1.69                          ( ( member @ A @ A5 @ A6 )
% 3.27/1.69                          & ( R8 @ A5 @ X3 ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_187_finite__UNIV,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( finite_finite @ A )
% 3.27/1.69       => ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_188_infinite__UNIV__char__0,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( semiring_char_0 @ A )
% 3.27/1.69       => ~ ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_189_finite__fun__UNIVD2,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType] :
% 3.27/1.69        ( ( finite_finite2 @ ( A > B ) @ ( top_top @ ( set @ ( A > B ) ) ) )
% 3.27/1.69       => ( finite_finite2 @ B @ ( top_top @ ( set @ B ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_190_finite__Prod__UNIV,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType] :
% 3.27/1.69        ( ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( ( finite_finite2 @ B @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69         => ( finite_finite2 @ ( product_prod @ A @ B ) @ ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_191_ex__new__if__finite,axiom,
% 3.27/1.69      ! [A: $tType,A6: set @ A] :
% 3.27/1.69        ( ~ ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( ( finite_finite2 @ A @ A6 )
% 3.27/1.69         => ? [A4: A] :
% 3.27/1.69              ~ ( member @ A @ A4 @ A6 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_192_finite__prod,axiom,
% 3.27/1.69      ! [A: $tType,B: $tType] :
% 3.27/1.69        ( ( finite_finite2 @ ( product_prod @ A @ B ) @ ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) )
% 3.27/1.69        = ( ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69          & ( finite_finite2 @ B @ ( top_top @ ( set @ B ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_193_Finite__Set_Ofinite__set,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( finite_finite2 @ ( set @ A ) @ ( top_top @ ( set @ ( set @ A ) ) ) )
% 3.27/1.69        = ( finite_finite2 @ A @ ( top_top @ ( set @ A ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_194_substitution_Ostep__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I1_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69         => ( ( domain398919503obally @ R @ L @ V @ S )
% 3.27/1.69           => ( ( subsum380726323obally @ R @ L @ V @ S )
% 3.27/1.69             => ( domain398919503obally @ R @ L @ V @ S2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_195_substitution_Ostep__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I2_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69         => ( ( domain398919503obally @ R @ L @ V @ S )
% 3.27/1.69           => ( ( subsum380726323obally @ R @ L @ V @ S )
% 3.27/1.69             => ( subsum380726323obally @ R @ L @ V @ S2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_196_finite__update__induct,axiom,
% 3.27/1.69      ! [B: $tType,A: $tType,F: A > B,C2: B,P: ( A > B ) > $o] :
% 3.27/1.69        ( ( finite_finite2 @ A
% 3.27/1.69          @ ( collect @ A
% 3.27/1.69            @ ^ [A5: A] :
% 3.27/1.69                ( ( F @ A5 )
% 3.27/1.69               != C2 ) ) )
% 3.27/1.69       => ( ( P
% 3.27/1.69            @ ^ [A5: A] : C2 )
% 3.27/1.69         => ( ! [A4: A,B4: B,F4: A > B] :
% 3.27/1.69                ( ( finite_finite2 @ A
% 3.27/1.69                  @ ( collect @ A
% 3.27/1.69                    @ ^ [C4: A] :
% 3.27/1.69                        ( ( F4 @ C4 )
% 3.27/1.69                       != C2 ) ) )
% 3.27/1.69               => ( ( ( F4 @ A4 )
% 3.27/1.69                    = C2 )
% 3.27/1.69                 => ( ( B4 != C2 )
% 3.27/1.69                   => ( ( P @ F4 )
% 3.27/1.69                     => ( P @ ( fun_upd @ A @ B @ F4 @ A4 @ B4 ) ) ) ) ) )
% 3.27/1.69           => ( P @ F ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_197_substitution_Onice__ind__inv__is__inductive__invariant,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( inductive_invariant @ R @ L @ V @ Subst
% 3.27/1.69          @ ^ [S5: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69              ( ( domain398919503obally @ R @ L @ V @ S5 )
% 3.27/1.69              & ( subsum380726323obally @ R @ L @ V @ S5 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_198_substitution_Odomains__subsume__globally__def,axiom,
% 3.27/1.69      ! [L: $tType,V: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( domain398919503obally @ R @ L @ V @ S )
% 3.27/1.69          = ( ! [R7: R,Ls2: product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) )] :
% 3.27/1.69                ( ( ( S @ R7 )
% 3.27/1.69                  = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ Ls2 ) )
% 3.27/1.69               => ( domains_subsume @ L @ R @ V @ Ls2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_199_substitution_Odomains__subsume__globallyI,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ! [R6: R,Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E3: expr @ R @ L @ V] :
% 3.27/1.69              ( ( ( S @ R6 )
% 3.27/1.69                = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) ) )
% 3.27/1.69             => ( domains_subsume @ L @ R @ V @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ E3 ) ) ) )
% 3.27/1.69         => ( domain398919503obally @ R @ L @ V @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_200__092_060R_062_092_060_094sub_062GI,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),S2: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),Beta2: B > B] :
% 3.27/1.69        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( ! [R6: A] :
% 3.27/1.69              ( ( ( S @ R6 )
% 3.27/1.69                = ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) )
% 3.27/1.69             => ( ( S2 @ ( Alpha2 @ R6 ) )
% 3.27/1.69                = ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) )
% 3.27/1.69         => ( ! [R6: A,Sigma: B > ( option @ ( val @ A @ B @ C ) ),Tau: B > ( option @ ( val @ A @ B @ C ) ),E3: expr @ A @ B @ C] :
% 3.27/1.69                ( ( ( S @ R6 )
% 3.27/1.69                  = ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ ( product_Pair @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) @ Sigma @ ( product_Pair @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) @ Tau @ E3 ) ) ) )
% 3.27/1.69               => ( ( S2 @ ( Alpha2 @ R6 ) )
% 3.27/1.69                  = ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ ( product_Pair @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) @ Sigma @ ( product_Pair @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) @ Tau @ E3 ) ) ) ) ) )
% 3.27/1.69           => ( ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S )
% 3.27/1.69              = S2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_201_substitution_Osubsumes__accessible__globallyI,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ! [R_1: R,Sigma_1: L > ( option @ ( val @ R @ L @ V ) ),Tau_1: L > ( option @ ( val @ R @ L @ V ) ),E_1: expr @ R @ L @ V,R_2: R,Sigma_2: L > ( option @ ( val @ R @ L @ V ) ),Tau_2: L > ( option @ ( val @ R @ L @ V ) ),E_2: expr @ R @ L @ V] :
% 3.27/1.69              ( ( ( S @ R_1 )
% 3.27/1.69                = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma_1 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau_1 @ E_1 ) ) ) )
% 3.27/1.69             => ( ( ( S @ R_2 )
% 3.27/1.69                  = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma_2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau_2 @ E_2 ) ) ) )
% 3.27/1.69               => ( subsumes_accessible @ R @ L @ V @ R_1 @ R_2 @ S ) ) )
% 3.27/1.69         => ( subsum380726323obally @ R @ L @ V @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_202__092_060R_062_092_060_094sub_062G__implements__renaming,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,Beta2: B > B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 3.27/1.69        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( is_global_renaming @ A @ B @ C @ Alpha2 @ Beta2 @ S @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_203_subsumes__accessible__globallyI,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ! [R_1: r,Sigma_1: l > ( option @ ( val @ r @ l @ v ) ),Tau_1: l > ( option @ ( val @ r @ l @ v ) ),E_1: expr @ r @ l @ v,R_2: r,Sigma_2: l > ( option @ ( val @ r @ l @ v ) ),Tau_2: l > ( option @ ( val @ r @ l @ v ) ),E_2: expr @ r @ l @ v] :
% 3.27/1.69            ( ( ( S @ R_1 )
% 3.27/1.69              = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma_1 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau_1 @ E_1 ) ) ) )
% 3.27/1.69           => ( ( ( S @ R_2 )
% 3.27/1.69                = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma_2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau_2 @ E_2 ) ) ) )
% 3.27/1.69             => ( subsumes_accessible @ r @ l @ v @ R_1 @ R_2 @ S ) ) )
% 3.27/1.69       => ( subsum380726323obally @ r @ l @ v @ S ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_204_renaming__distr__global_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,Alpha2: A > A,Beta2: B > B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 3.27/1.69        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ Ls ) ) )
% 3.27/1.69          = ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) @ ( Alpha2 @ R2 ) @ ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_205_in__renamed__in__unlabelled__local_I2_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,Alpha2: A > A,Beta2: B > B,L3: B,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 3.27/1.69        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69         => ( ( member @ B @ ( Beta2 @ L3 ) @ ( lID_L @ B @ A @ C @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) )
% 3.27/1.69            = ( member @ B @ L3 @ ( lID_L @ B @ A @ C @ Ls ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_206_in__renamed__in__unlabelled__local_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,Alpha2: A > A,Beta2: B > B,R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 3.27/1.69        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69         => ( ( member @ A @ ( Alpha2 @ R2 ) @ ( rID_L @ B @ A @ C @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) )
% 3.27/1.69            = ( member @ A @ R2 @ ( rID_L @ B @ A @ C @ Ls ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_207_RID_092_060_094sub_062GI_I2_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 3.27/1.69        ( ( ( S @ R3 )
% 3.27/1.69          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 3.27/1.69       => ( ( member @ B @ R2 @ ( rID_L @ A @ B @ C @ Ls ) )
% 3.27/1.69         => ( member @ B @ R2 @ ( rID_G @ B @ A @ C @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_208_local__state__of__finite__restricted__global__state__is__finite_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 3.27/1.69        ( ( ( S @ R3 )
% 3.27/1.69          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 3.27/1.69       => ( ( finite_finite2 @ B @ ( rID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) )
% 3.27/1.69         => ( ( R2 != R3 )
% 3.27/1.69           => ( finite_finite2 @ B @ ( rID_L @ A @ B @ C @ Ls ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_209_substitution_Oin__renamed__in__unlabelled__local_I1_J,axiom,
% 3.27/1.69      ! [R: $tType,L: $tType,V: $tType,C: $tType,A: $tType,B: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),Alpha2: A > A,Beta2: B > B,R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69           => ( ( member @ A @ ( Alpha2 @ R2 ) @ ( rID_L @ B @ A @ C @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) )
% 3.27/1.69              = ( member @ A @ R2 @ ( rID_L @ B @ A @ C @ Ls ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_210_substitution_Oin__renamed__in__unlabelled__local_I2_J,axiom,
% 3.27/1.69      ! [R: $tType,L: $tType,V: $tType,C: $tType,A: $tType,B: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),Alpha2: A > A,Beta2: B > B,L3: B,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69           => ( ( member @ B @ ( Beta2 @ L3 ) @ ( lID_L @ B @ A @ C @ ( r_L @ A @ B @ C @ Alpha2 @ Beta2 @ Ls ) ) )
% 3.27/1.69              = ( member @ B @ L3 @ ( lID_L @ B @ A @ C @ Ls ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_211_substitution_Olocal__state__of__finite__restricted__global__state__is__finite_I1_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,C: $tType,B: $tType,A: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R3 )
% 3.27/1.69            = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 3.27/1.69         => ( ( finite_finite2 @ B @ ( rID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) )
% 3.27/1.69           => ( ( R2 != R3 )
% 3.27/1.69             => ( finite_finite2 @ B @ ( rID_L @ A @ B @ C @ Ls ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_212_reachable__imp__identifiers__available_I2_J,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( reachable @ r @ l @ v @ subst @ S )
% 3.27/1.69       => ( ~ ( finite_finite2 @ l @ ( top_top @ ( set @ l ) ) )
% 3.27/1.69         => ? [L2: l] :
% 3.27/1.69              ~ ( member @ l @ L2 @ ( lID_G @ r @ l @ v @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_213_only__fork__introduces__rids,axiom,
% 3.27/1.69      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69       => ( ! [Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E6: cntxt @ r @ l @ v,E3: expr @ r @ l @ v] :
% 3.27/1.69              ( ( S @ R2 )
% 3.27/1.69             != ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ ( plug @ r @ l @ v @ E6 @ ( rfork @ r @ l @ v @ E3 ) ) ) ) ) )
% 3.27/1.69         => ( ord_less_eq @ ( set @ r ) @ ( rID_G @ r @ l @ v @ S2 ) @ ( rID_G @ r @ l @ v @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_214_empty__map__finite_I4_J,axiom,
% 3.27/1.69      ! [J: $tType,M3: $tType,K4: $tType] :
% 3.27/1.69        ( finite_finite2 @ J
% 3.27/1.69        @ ( lID_G @ K4 @ J @ M3
% 3.27/1.69          @ ^ [X2: K4] : ( none @ ( product_prod @ ( J > ( option @ ( val @ K4 @ J @ M3 ) ) ) @ ( product_prod @ ( J > ( option @ ( val @ K4 @ J @ M3 ) ) ) @ ( expr @ K4 @ J @ M3 ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_215_in__renamed__in__unlabelled__global_I2_J,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,Alpha2: A > A,Beta2: B > B,L3: B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 3.27/1.69        ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69       => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69         => ( ( member @ B @ ( Beta2 @ L3 ) @ ( lID_G @ A @ B @ C @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) )
% 3.27/1.69            = ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ S ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_216_RID_092_060_094sub_062L__finite__invariant,axiom,
% 3.27/1.69      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69       => ( ( finite_finite2 @ l @ ( lID_G @ r @ l @ v @ S ) )
% 3.27/1.69         => ( finite_finite2 @ l @ ( lID_G @ r @ l @ v @ S2 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_217_reachable__imp__identifiers__finite_I2_J,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( reachable @ r @ l @ v @ subst @ S )
% 3.27/1.69       => ( finite_finite2 @ l @ ( lID_G @ r @ l @ v @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_218_in__restricted__global__in__unrestricted__global_I2_J,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,L3: B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 3.27/1.69        ( ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) )
% 3.27/1.69       => ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ S ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_219_LID_092_060_094sub_062GI,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R2: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),L3: A] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 3.27/1.69       => ( ( member @ A @ L3 @ ( lID_L @ A @ B @ C @ Ls ) )
% 3.27/1.69         => ( member @ A @ L3 @ ( lID_G @ B @ A @ C @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_220_finite__Collect__subsets,axiom,
% 3.27/1.69      ! [A: $tType,A6: set @ A] :
% 3.27/1.69        ( ( finite_finite2 @ A @ A6 )
% 3.27/1.69       => ( finite_finite2 @ ( set @ A )
% 3.27/1.69          @ ( collect @ ( set @ A )
% 3.27/1.69            @ ^ [B7: set @ A] : ( ord_less_eq @ ( set @ A ) @ B7 @ A6 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_221_finite__state__imp__restriction__finite_I2_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 3.27/1.69        ( ( finite_finite2 @ B @ ( lID_G @ A @ B @ C @ S ) )
% 3.27/1.69       => ( finite_finite2 @ B @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_222_in__restricted__global__in__updated__global_I2_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,L3: B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A,Ls: product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) )] :
% 3.27/1.69        ( ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) )
% 3.27/1.69       => ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) @ Ls ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_223_local__state__of__finite__restricted__global__state__is__finite_I2_J,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 3.27/1.69        ( ( ( S @ R3 )
% 3.27/1.69          = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 3.27/1.69       => ( ( finite_finite2 @ A @ ( lID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) )
% 3.27/1.69         => ( ( R2 != R3 )
% 3.27/1.69           => ( finite_finite2 @ A @ ( lID_L @ A @ B @ C @ Ls ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_224_ID__restricted__global__subset__unrestricted_I1_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R2: B] : ( ord_less_eq @ ( set @ A ) @ ( lID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) @ ( lID_G @ B @ A @ C @ S ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_225_finite__has__minimal2,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( order @ A )
% 3.27/1.69       => ! [A6: set @ A,A2: A] :
% 3.27/1.69            ( ( finite_finite2 @ A @ A6 )
% 3.27/1.69           => ( ( member @ A @ A2 @ A6 )
% 3.27/1.69             => ? [X3: A] :
% 3.27/1.69                  ( ( member @ A @ X3 @ A6 )
% 3.27/1.69                  & ( ord_less_eq @ A @ X3 @ A2 )
% 3.27/1.69                  & ! [Xa2: A] :
% 3.27/1.69                      ( ( member @ A @ Xa2 @ A6 )
% 3.27/1.69                     => ( ( ord_less_eq @ A @ Xa2 @ X3 )
% 3.27/1.69                       => ( X3 = Xa2 ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_226_finite__has__maximal2,axiom,
% 3.27/1.69      ! [A: $tType] :
% 3.27/1.69        ( ( order @ A )
% 3.27/1.69       => ! [A6: set @ A,A2: A] :
% 3.27/1.69            ( ( finite_finite2 @ A @ A6 )
% 3.27/1.69           => ( ( member @ A @ A2 @ A6 )
% 3.27/1.69             => ? [X3: A] :
% 3.27/1.69                  ( ( member @ A @ X3 @ A6 )
% 3.27/1.69                  & ( ord_less_eq @ A @ A2 @ X3 )
% 3.27/1.69                  & ! [Xa2: A] :
% 3.27/1.69                      ( ( member @ A @ Xa2 @ A6 )
% 3.27/1.69                     => ( ( ord_less_eq @ A @ X3 @ Xa2 )
% 3.27/1.69                       => ( X3 = Xa2 ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_227_rev__finite__subset,axiom,
% 3.27/1.69      ! [A: $tType,B6: set @ A,A6: set @ A] :
% 3.27/1.69        ( ( finite_finite2 @ A @ B6 )
% 3.27/1.69       => ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 3.27/1.69         => ( finite_finite2 @ A @ A6 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_228_infinite__super,axiom,
% 3.27/1.69      ! [A: $tType,S6: set @ A,T3: set @ A] :
% 3.27/1.69        ( ( ord_less_eq @ ( set @ A ) @ S6 @ T3 )
% 3.27/1.69       => ( ~ ( finite_finite2 @ A @ S6 )
% 3.27/1.69         => ~ ( finite_finite2 @ A @ T3 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_229_finite__subset,axiom,
% 3.27/1.69      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 3.27/1.69        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 3.27/1.69       => ( ( finite_finite2 @ A @ B6 )
% 3.27/1.69         => ( finite_finite2 @ A @ A6 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_230_LID_092_060_094sub_062GE,axiom,
% 3.27/1.69      ! [C: $tType,B: $tType,A: $tType,L3: A,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) )] :
% 3.27/1.69        ( ( member @ A @ L3 @ ( lID_G @ B @ A @ C @ S ) )
% 3.27/1.69       => ~ ! [R6: B,Ls3: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) )] :
% 3.27/1.69              ( ( ( S @ R6 )
% 3.27/1.69                = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls3 ) )
% 3.27/1.69             => ~ ( member @ A @ L3 @ ( lID_L @ A @ B @ C @ Ls3 ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_231_substitution_ORID_092_060_094sub_062L__finite__invariant,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69         => ( ( finite_finite2 @ L @ ( lID_G @ R @ L @ V @ S ) )
% 3.27/1.69           => ( finite_finite2 @ L @ ( lID_G @ R @ L @ V @ S2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_232_ID__restricted__global__subset__unrestricted_I2_J,axiom,
% 3.27/1.69      ! [C: $tType,A: $tType,B: $tType,S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R2: B] : ( ord_less_eq @ ( set @ B ) @ ( rID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) @ ( rID_G @ B @ A @ C @ S ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_233_substitution_Oreachable__imp__identifiers__finite_I2_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 3.27/1.69         => ( finite_finite2 @ L @ ( lID_G @ R @ L @ V @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_234_substitution_Oempty__map__finite_I4_J,axiom,
% 3.27/1.69      ! [R: $tType,L: $tType,V: $tType,J: $tType,M3: $tType,K4: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( finite_finite2 @ J
% 3.27/1.69          @ ( lID_G @ K4 @ J @ M3
% 3.27/1.69            @ ^ [X2: K4] : ( none @ ( product_prod @ ( J > ( option @ ( val @ K4 @ J @ M3 ) ) ) @ ( product_prod @ ( J > ( option @ ( val @ K4 @ J @ M3 ) ) ) @ ( expr @ K4 @ J @ M3 ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_235_substitution_Oreachable__imp__identifiers__available_I2_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( reachable @ R @ L @ V @ Subst @ S )
% 3.27/1.69         => ( ~ ( finite_finite2 @ L @ ( top_top @ ( set @ L ) ) )
% 3.27/1.69           => ? [L2: L] :
% 3.27/1.69                ~ ( member @ L @ L2 @ ( lID_G @ R @ L @ V @ S ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_236_substitution_Ofinite__state__imp__restriction__finite_I2_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,C: $tType,A: $tType,B: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ),R2: A] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( finite_finite2 @ B @ ( lID_G @ A @ B @ C @ S ) )
% 3.27/1.69         => ( finite_finite2 @ B @ ( lID_G @ A @ B @ C @ ( fun_upd @ A @ ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_237_substitution_Oin__renamed__in__unlabelled__global_I2_J,axiom,
% 3.27/1.69      ! [R: $tType,L: $tType,V: $tType,C: $tType,B: $tType,A: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),Alpha2: A > A,Beta2: B > B,L3: B,S: A > ( option @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( product_prod @ ( B > ( option @ ( val @ A @ B @ C ) ) ) @ ( expr @ A @ B @ C ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( bij_betw @ A @ A @ Alpha2 @ ( top_top @ ( set @ A ) ) @ ( top_top @ ( set @ A ) ) )
% 3.27/1.69         => ( ( bij_betw @ B @ B @ Beta2 @ ( top_top @ ( set @ B ) ) @ ( top_top @ ( set @ B ) ) )
% 3.27/1.69           => ( ( member @ B @ ( Beta2 @ L3 ) @ ( lID_G @ A @ B @ C @ ( r_G @ A @ B @ C @ Alpha2 @ Beta2 @ S ) ) )
% 3.27/1.69              = ( member @ B @ L3 @ ( lID_G @ A @ B @ C @ S ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_238_substitution_Olocal__state__of__finite__restricted__global__state__is__finite_I2_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,C: $tType,B: $tType,A: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: B > ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ),R3: B,Ls: product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ),R2: B] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R3 )
% 3.27/1.69            = ( some @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) @ Ls ) )
% 3.27/1.69         => ( ( finite_finite2 @ A @ ( lID_G @ B @ A @ C @ ( fun_upd @ B @ ( option @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) @ S @ R2 @ ( none @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( product_prod @ ( A > ( option @ ( val @ B @ A @ C ) ) ) @ ( expr @ B @ A @ C ) ) ) ) ) ) )
% 3.27/1.69           => ( ( R2 != R3 )
% 3.27/1.69             => ( finite_finite2 @ A @ ( lID_L @ A @ B @ C @ Ls ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_239_substitution_Oonly__fork__introduces__rids,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),R2: R,S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69         => ( ! [Sigma: L > ( option @ ( val @ R @ L @ V ) ),Tau: L > ( option @ ( val @ R @ L @ V ) ),E6: cntxt @ R @ L @ V,E3: expr @ R @ L @ V] :
% 3.27/1.69                ( ( S @ R2 )
% 3.27/1.69               != ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau @ ( plug @ R @ L @ V @ E6 @ ( rfork @ R @ L @ V @ E3 ) ) ) ) ) )
% 3.27/1.69           => ( ord_less_eq @ ( set @ R ) @ ( rID_G @ R @ L @ V @ S2 ) @ ( rID_G @ R @ L @ V @ S ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_240_only__new__introduces__lids_H,axiom,
% 3.27/1.69      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),L3: l] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69       => ( ! [Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E6: cntxt @ r @ l @ v,V3: val @ r @ l @ v] :
% 3.27/1.69              ( ( S @ R2 )
% 3.27/1.69             != ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ ( plug @ r @ l @ v @ E6 @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V3 ) ) ) ) ) ) )
% 3.27/1.69         => ( ~ ( member @ l @ L3 @ ( lID_G @ r @ l @ v @ S ) )
% 3.27/1.69           => ~ ( member @ l @ L3 @ ( lID_G @ r @ l @ v @ S2 ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_241_SLC__new,axiom,
% 3.27/1.69      ! [S_1: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,V2: val @ r @ l @ v,S_2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),L3: l,R3: r,S_22: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( ( S_1 @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V2 ) ) ) ) ) ) )
% 3.27/1.69       => ( ( S_2
% 3.27/1.69            = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( fun_upd @ l @ ( option @ ( val @ r @ l @ v ) ) @ Tau2 @ L3 @ ( some @ ( val @ r @ l @ v ) @ V2 ) ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( loc @ l @ r @ v @ L3 ) ) ) ) ) ) ) )
% 3.27/1.69         => ( ~ ( member @ l @ L3 @ ( lID_G @ r @ l @ v @ S_1 ) )
% 3.27/1.69           => ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69             => ( ( R2 != R3 )
% 3.27/1.69               => ( ( reachable @ r @ l @ v @ subst @ S_1 )
% 3.27/1.69                 => ( ~ ( finite_finite2 @ l @ ( top_top @ ( set @ l ) ) )
% 3.27/1.69                   => ? [S_3: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S_32: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69                        ( ( eq_states @ r @ l @ v @ S_3 @ S_32 )
% 3.27/1.69                        & ( ( revision_step @ r @ l @ v @ subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                          | ( S_2 = S_3 ) )
% 3.27/1.69                        & ( ( revision_step @ r @ l @ v @ subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                          | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_242_val_Oinject_I3_J,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,X32: L,Y32: L] :
% 3.27/1.69        ( ( ( loc @ L @ R @ V @ X32 )
% 3.27/1.69          = ( loc @ L @ R @ V @ Y32 ) )
% 3.27/1.69        = ( X32 = Y32 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_243_expr_Oinject_I4_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X4: expr @ R @ L @ V,Y4: expr @ R @ L @ V] :
% 3.27/1.69        ( ( ( ref @ R @ L @ V @ X4 )
% 3.27/1.69          = ( ref @ R @ L @ V @ Y4 ) )
% 3.27/1.69        = ( X4 = Y4 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_244_revision__step_Onew,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,V2: val @ r @ l @ v,L3: l] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V2 ) ) ) ) ) ) )
% 3.27/1.69       => ( ~ ( member @ l @ L3 @ ( lID_G @ r @ l @ v @ S ) )
% 3.27/1.69         => ( revision_step @ r @ l @ v @ subst @ R2 @ S @ ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( fun_upd @ l @ ( option @ ( val @ r @ l @ v ) ) @ Tau2 @ L3 @ ( some @ ( val @ r @ l @ v ) @ V2 ) ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( loc @ l @ r @ v @ L3 ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_245_only__new__introduces__lids,axiom,
% 3.27/1.69      ! [R2: r,S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69       => ( ! [Sigma: l > ( option @ ( val @ r @ l @ v ) ),Tau: l > ( option @ ( val @ r @ l @ v ) ),E6: cntxt @ r @ l @ v,V3: val @ r @ l @ v] :
% 3.27/1.69              ( ( S @ R2 )
% 3.27/1.69             != ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau @ ( plug @ r @ l @ v @ E6 @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V3 ) ) ) ) ) ) )
% 3.27/1.69         => ( ord_less_eq @ ( set @ l ) @ ( lID_G @ r @ l @ v @ S2 ) @ ( lID_G @ r @ l @ v @ S ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_246_new__pseudodeterministic,axiom,
% 3.27/1.69      ! [S: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ),R2: r,Sigma2: l > ( option @ ( val @ r @ l @ v ) ),Tau2: l > ( option @ ( val @ r @ l @ v ) ),E: cntxt @ r @ l @ v,V2: val @ r @ l @ v,S2: r > ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) )] :
% 3.27/1.69        ( ( ( S @ R2 )
% 3.27/1.69          = ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ Tau2 @ ( plug @ r @ l @ v @ E @ ( ref @ r @ l @ v @ ( ve @ r @ l @ v @ V2 ) ) ) ) ) ) )
% 3.27/1.69       => ( ( revision_step @ r @ l @ v @ subst @ R2 @ S @ S2 )
% 3.27/1.69          = ( ? [L4: l] :
% 3.27/1.69                ( ~ ( member @ l @ L4 @ ( lID_G @ r @ l @ v @ S ) )
% 3.27/1.69                & ( S2
% 3.27/1.69                  = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ Sigma2 @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ ( fun_upd @ l @ ( option @ ( val @ r @ l @ v ) ) @ Tau2 @ L4 @ ( some @ ( val @ r @ l @ v ) @ V2 ) ) @ ( plug @ r @ l @ v @ E @ ( ve @ r @ l @ v @ ( loc @ l @ r @ v @ L4 ) ) ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_247_expr_Odistinct_I5_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X1: val @ R @ L @ V,X4: expr @ R @ L @ V] :
% 3.27/1.69        ( ( ve @ R @ L @ V @ X1 )
% 3.27/1.69       != ( ref @ R @ L @ V @ X4 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_248_val_Odistinct_I15_J,axiom,
% 3.27/1.69      ! [L: $tType,V: $tType,R: $tType,X32: L,X4: R] :
% 3.27/1.69        ( ( loc @ L @ R @ V @ X32 )
% 3.27/1.69       != ( rid @ R @ L @ V @ X4 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_249_expr_Odistinct_I43_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X4: expr @ R @ L @ V,X8: expr @ R @ L @ V] :
% 3.27/1.69        ( ( ref @ R @ L @ V @ X4 )
% 3.27/1.69       != ( rjoin @ R @ L @ V @ X8 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_250_expr_Odistinct_I41_J,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,X4: expr @ R @ L @ V,X7: expr @ R @ L @ V] :
% 3.27/1.69        ( ( ref @ R @ L @ V @ X4 )
% 3.27/1.69       != ( rfork @ R @ L @ V @ X7 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_251_val_Odistinct_I3_J,axiom,
% 3.27/1.69      ! [R: $tType,V: $tType,L: $tType,X1: const,X32: L] :
% 3.27/1.69        ( ( cv @ R @ L @ V @ X1 )
% 3.27/1.69       != ( loc @ L @ R @ V @ X32 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_252_substitution_Onew__pseudodeterministic,axiom,
% 3.27/1.69      ! [V: $tType,R: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,V2: val @ R @ L @ V,S2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ref @ R @ L @ V @ ( ve @ R @ L @ V @ V2 ) ) ) ) ) ) )
% 3.27/1.69         => ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ S2 )
% 3.27/1.69            = ( ? [L4: L] :
% 3.27/1.69                  ( ~ ( member @ L @ L4 @ ( lID_G @ R @ L @ V @ S ) )
% 3.27/1.69                  & ( S2
% 3.27/1.69                    = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( fun_upd @ L @ ( option @ ( val @ R @ L @ V ) ) @ Tau2 @ L4 @ ( some @ ( val @ R @ L @ V ) @ V2 ) ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( loc @ L @ R @ V @ L4 ) ) ) ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_253_substitution_Orevision__step_Onew,axiom,
% 3.27/1.69      ! [R: $tType,V: $tType,L: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,V2: val @ R @ L @ V,L3: L] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ref @ R @ L @ V @ ( ve @ R @ L @ V @ V2 ) ) ) ) ) ) )
% 3.27/1.69         => ( ~ ( member @ L @ L3 @ ( lID_G @ R @ L @ V @ S ) )
% 3.27/1.69           => ( revision_step @ R @ L @ V @ Subst @ R2 @ S @ ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( fun_upd @ L @ ( option @ ( val @ R @ L @ V ) ) @ Tau2 @ L3 @ ( some @ ( val @ R @ L @ V ) @ V2 ) ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( loc @ L @ R @ V @ L3 ) ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(fact_254_substitution_OSLC__new,axiom,
% 3.27/1.69      ! [V: $tType,L: $tType,R: $tType,Subst: ( expr @ R @ L @ V ) > V > ( expr @ R @ L @ V ) > ( expr @ R @ L @ V ),S_1: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),R2: R,Sigma2: L > ( option @ ( val @ R @ L @ V ) ),Tau2: L > ( option @ ( val @ R @ L @ V ) ),E: cntxt @ R @ L @ V,V2: val @ R @ L @ V,S_2: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),L3: L,R3: R,S_22: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69        ( ( substitution @ R @ L @ V @ Subst )
% 3.27/1.69       => ( ( ( S_1 @ R2 )
% 3.27/1.69            = ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ Tau2 @ ( plug @ R @ L @ V @ E @ ( ref @ R @ L @ V @ ( ve @ R @ L @ V @ V2 ) ) ) ) ) ) )
% 3.27/1.69         => ( ( S_2
% 3.27/1.69              = ( fun_upd @ R @ ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ) @ S_1 @ R2 @ ( some @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) @ Sigma2 @ ( product_Pair @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) @ ( fun_upd @ L @ ( option @ ( val @ R @ L @ V ) ) @ Tau2 @ L3 @ ( some @ ( val @ R @ L @ V ) @ V2 ) ) @ ( plug @ R @ L @ V @ E @ ( ve @ R @ L @ V @ ( loc @ L @ R @ V @ L3 ) ) ) ) ) ) ) )
% 3.27/1.69           => ( ~ ( member @ L @ L3 @ ( lID_G @ R @ L @ V @ S_1 ) )
% 3.27/1.69             => ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_1 @ S_22 )
% 3.27/1.69               => ( ( R2 != R3 )
% 3.27/1.69                 => ( ( reachable @ R @ L @ V @ Subst @ S_1 )
% 3.27/1.69                   => ( ~ ( finite_finite2 @ L @ ( top_top @ ( set @ L ) ) )
% 3.27/1.69                     => ? [S_3: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) ),S_32: R > ( option @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( product_prod @ ( L > ( option @ ( val @ R @ L @ V ) ) ) @ ( expr @ R @ L @ V ) ) ) )] :
% 3.27/1.69                          ( ( eq_states @ R @ L @ V @ S_3 @ S_32 )
% 3.27/1.69                          & ( ( revision_step @ R @ L @ V @ Subst @ R3 @ S_2 @ S_3 )
% 3.27/1.69                            | ( S_2 = S_3 ) )
% 3.27/1.69                          & ( ( revision_step @ R @ L @ V @ Subst @ R2 @ S_22 @ S_32 )
% 3.27/1.69                            | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(tcon_fun___Finite__Set_Ofinite,axiom,
% 3.27/1.69      ! [A9: $tType,A10: $tType] :
% 3.27/1.69        ( ( ( finite_finite @ A9 )
% 3.27/1.69          & ( finite_finite @ A10 ) )
% 3.27/1.69       => ( finite_finite @ ( A9 > A10 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(tcon_fun___Orderings_Oorder,axiom,
% 3.27/1.69      ! [A9: $tType,A10: $tType] :
% 3.27/1.69        ( ( order @ A10 )
% 3.27/1.69       => ( order @ ( A9 > A10 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(tcon_Set_Oset___Finite__Set_Ofinite_1,axiom,
% 3.27/1.69      ! [A9: $tType] :
% 3.27/1.69        ( ( finite_finite @ A9 )
% 3.27/1.69       => ( finite_finite @ ( set @ A9 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(tcon_Set_Oset___Orderings_Oorder_2,axiom,
% 3.27/1.69      ! [A9: $tType] : ( order @ ( set @ A9 ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(tcon_HOL_Obool___Finite__Set_Ofinite_3,axiom,
% 3.27/1.69      finite_finite @ $o ).
% 3.27/1.69  
% 3.27/1.69  thf(tcon_HOL_Obool___Orderings_Oorder_4,axiom,
% 3.27/1.69      order @ $o ).
% 3.27/1.69  
% 3.27/1.69  thf(tcon_Sum__Type_Osum___Finite__Set_Ofinite_5,axiom,
% 3.27/1.69      ! [A9: $tType,A10: $tType] :
% 3.27/1.69        ( ( ( finite_finite @ A9 )
% 3.27/1.69          & ( finite_finite @ A10 ) )
% 3.27/1.69       => ( finite_finite @ ( sum_sum @ A9 @ A10 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(tcon_Option_Ooption___Finite__Set_Ofinite_6,axiom,
% 3.27/1.69      ! [A9: $tType] :
% 3.27/1.69        ( ( finite_finite @ A9 )
% 3.27/1.69       => ( finite_finite @ ( option @ A9 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(tcon_Product__Type_Oprod___Finite__Set_Ofinite_7,axiom,
% 3.27/1.69      ! [A9: $tType,A10: $tType] :
% 3.27/1.69        ( ( ( finite_finite @ A9 )
% 3.27/1.69          & ( finite_finite @ A10 ) )
% 3.27/1.69       => ( finite_finite @ ( product_prod @ A9 @ A10 ) ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(help_If_3_1_T,axiom,
% 3.27/1.69      ! [P: $o] :
% 3.27/1.69        ( ( P = $true )
% 3.27/1.69        | ( P = $false ) ) ).
% 3.27/1.69  
% 3.27/1.69  thf(help_If_2_1_T,axiom,
% 3.27/1.69      ! [A: $tType,X: A,Y: A] :
% 3.27/1.69        ( ( if @ A @ $false @ X @ Y )
% 3.27/1.69        = Y ) ).
% 3.27/1.69  
% 3.27/1.69  thf(help_If_1_1_T,axiom,
% 3.27/1.69      ! [A: $tType,X: A,Y: A] :
% 3.27/1.69        ( ( if @ A @ $true @ X @ Y )
% 3.27/1.69        = X ) ).
% 3.27/1.69  
% 3.27/1.69  thf(conj_0,conjecture,
% 3.27/1.69      ( s
% 3.27/1.69      = ( fun_upd @ r @ ( option @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) ) @ s @ r2 @ ( some @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) ) @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( product_prod @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) ) @ sigma @ ( product_Pair @ ( l > ( option @ ( val @ r @ l @ v ) ) ) @ ( expr @ r @ l @ v ) @ tau @ ( plug @ r @ l @ v @ e @ ( rfork @ r @ l @ v @ e2 ) ) ) ) ) ) ) ).
% 3.27/1.69  ------------------------
% 3.37/1.75  % (17975)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/183Mi)
% 3.37/1.75  % (17976)lrs+10_1:1_c=on:cnfonf=conj_eager:fd=off:fe=off:kws=frequency:spb=intro:i=4:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/4Mi)
% 3.37/1.75  % (17979)lrs+1002_1:128_aac=none:au=on:cnfonf=lazy_not_gen_be_off:sos=all:i=2:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/2Mi)
% 3.37/1.75  % (17978)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/2Mi)
% 3.37/1.75  % (17981)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/18Mi)
% 3.37/1.75  % (17977)dis+1010_1:1_au=on:cbe=off:chr=on:fsr=off:hfsq=on:nm=64:sos=theory:sp=weighted_frequency:i=27:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/27Mi)
% 3.37/1.75  % (17980)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=275:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/275Mi)
% 3.37/1.75  % (17978)Instruction limit reached!
% 3.37/1.75  % (17978)------------------------------
% 3.37/1.75  % (17978)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.75  % (17978)Termination reason: Unknown
% 3.37/1.75  % (17978)Termination phase: shuffling
% 3.37/1.75  % (17979)Instruction limit reached!
% 3.37/1.75  % (17979)------------------------------
% 3.37/1.75  % (17979)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.75  
% 3.37/1.75  % (17978)Memory used [KB]: 1535
% 3.37/1.75  % (17978)Time elapsed: 0.003 s
% 3.37/1.75  % (17978)Instructions burned: 3 (million)
% 3.37/1.75  % (17978)------------------------------
% 3.37/1.75  % (17978)------------------------------
% 3.37/1.75  % (17979)Termination reason: Unknown
% 3.37/1.75  % (17979)Termination phase: shuffling
% 3.37/1.75  
% 3.37/1.75  % (17979)Memory used [KB]: 1535
% 3.37/1.75  % (17979)Time elapsed: 0.003 s
% 3.37/1.75  % (17979)Instructions burned: 3 (million)
% 3.37/1.75  % (17979)------------------------------
% 3.37/1.75  % (17979)------------------------------
% 3.37/1.75  % (17976)Instruction limit reached!
% 3.37/1.75  % (17976)------------------------------
% 3.37/1.75  % (17976)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.75  % (17976)Termination reason: Unknown
% 3.37/1.75  % (17976)Termination phase: shuffling
% 3.37/1.75  
% 3.37/1.75  % (17976)Memory used [KB]: 1535
% 3.37/1.75  % (17976)Time elapsed: 0.004 s
% 3.37/1.75  % (17976)Instructions burned: 5 (million)
% 3.37/1.75  % (17976)------------------------------
% 3.37/1.75  % (17976)------------------------------
% 3.37/1.76  % (17981)Instruction limit reached!
% 3.37/1.76  % (17981)------------------------------
% 3.37/1.76  % (17981)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.76  % (17981)Termination reason: Unknown
% 3.37/1.76  % (17981)Termination phase: shuffling
% 3.37/1.76  
% 3.37/1.76  % (17981)Memory used [KB]: 1663
% 3.37/1.76  % (17981)Time elapsed: 0.009 s
% 3.37/1.76  % (17981)Instructions burned: 18 (million)
% 3.37/1.76  % (17981)------------------------------
% 3.37/1.76  % (17981)------------------------------
% 3.37/1.77  % (17977)Instruction limit reached!
% 3.37/1.77  % (17977)------------------------------
% 3.37/1.77  % (17977)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.77  % (17977)Termination reason: Unknown
% 3.37/1.77  % (17977)Termination phase: shuffling
% 3.37/1.77  
% 3.37/1.77  % (17977)Memory used [KB]: 1791
% 3.37/1.77  % (17977)Time elapsed: 0.015 s
% 3.37/1.77  % (17977)Instructions burned: 27 (million)
% 3.37/1.77  % (17977)------------------------------
% 3.37/1.77  % (17977)------------------------------
% 3.37/1.77  % (17986)lrs+1002_1:1_cnfonf=lazy_not_be_gen:hud=14:prag=on:sp=weighted_frequency:tnu=1:i=37:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/37Mi)
% 3.37/1.77  % (17987)lrs+2_16:1_acc=model:au=on:bd=off:c=on:e2e=on:nm=2:sos=all:i=15:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/15Mi)
% 3.37/1.77  % (17990)dis+21_1:1_cbe=off:cnfonf=off:fs=off:fsr=off:hud=1:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/3Mi)
% 3.37/1.78  % (17985)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/3Mi)
% 3.37/1.78  % (17990)Instruction limit reached!
% 3.37/1.78  % (17990)------------------------------
% 3.37/1.78  % (17990)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.78  % (17990)Termination reason: Unknown
% 3.37/1.78  % (17990)Termination phase: shuffling
% 3.37/1.78  
% 3.37/1.78  % (17990)Memory used [KB]: 1535
% 3.37/1.78  % (17990)Time elapsed: 0.003 s
% 3.37/1.78  % (17990)Instructions burned: 3 (million)
% 3.37/1.78  % (17990)------------------------------
% 3.37/1.78  % (17990)------------------------------
% 3.37/1.78  % (17985)Instruction limit reached!
% 3.37/1.78  % (17985)------------------------------
% 3.37/1.78  % (17985)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.78  % (17985)Termination reason: Unknown
% 3.37/1.78  % (17985)Termination phase: shuffling
% 3.37/1.78  
% 3.37/1.78  % (17985)Memory used [KB]: 1535
% 3.37/1.78  % (17985)Time elapsed: 0.002 s
% 3.37/1.78  % (17985)Instructions burned: 3 (million)
% 3.37/1.78  % (17985)------------------------------
% 3.37/1.78  % (17985)------------------------------
% 3.37/1.78  % (17987)Instruction limit reached!
% 3.37/1.78  % (17987)------------------------------
% 3.37/1.78  % (17987)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.78  % (17987)Termination reason: Unknown
% 3.37/1.78  % (17987)Termination phase: shuffling
% 3.37/1.78  
% 3.37/1.78  % (17987)Memory used [KB]: 1663
% 3.37/1.78  % (17987)Time elapsed: 0.009 s
% 3.37/1.78  % (17987)Instructions burned: 16 (million)
% 3.37/1.78  % (17987)------------------------------
% 3.37/1.78  % (17987)------------------------------
% 3.37/1.78  % (17991)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=1041:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/1041Mi)
% 3.37/1.79  % (17993)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/7Mi)
% 3.37/1.79  % (17986)Instruction limit reached!
% 3.37/1.79  % (17986)------------------------------
% 3.37/1.79  % (17986)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.79  % (17986)Termination reason: Unknown
% 3.37/1.79  % (17986)Termination phase: shuffling
% 3.37/1.79  
% 3.37/1.79  % (17986)Memory used [KB]: 2046
% 3.37/1.79  % (17986)Time elapsed: 0.018 s
% 3.37/1.79  % (17986)Instructions burned: 37 (million)
% 3.37/1.79  % (17986)------------------------------
% 3.37/1.79  % (17986)------------------------------
% 3.37/1.79  % (17993)Instruction limit reached!
% 3.37/1.79  % (17993)------------------------------
% 3.37/1.79  % (17993)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.79  % (17993)Termination reason: Unknown
% 3.37/1.79  % (17993)Termination phase: shuffling
% 3.37/1.79  
% 3.37/1.79  % (17993)Memory used [KB]: 1535
% 3.37/1.79  % (17993)Time elapsed: 0.003 s
% 3.37/1.79  % (17993)Instructions burned: 7 (million)
% 3.37/1.79  % (17993)------------------------------
% 3.37/1.79  % (17993)------------------------------
% 3.37/1.79  % (17994)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/16Mi)
% 3.37/1.80  % (17996)lrs+21_1:1_au=on:cnfonf=off:fd=preordered:fe=off:fsr=off:hud=11:inj=on:kws=precedence:s2pl=no:sp=weighted_frequency:tgt=full:i=3:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/3Mi)
% 3.37/1.80  % (17996)Instruction limit reached!
% 3.37/1.80  % (17996)------------------------------
% 3.37/1.80  % (17996)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.80  % (17996)Termination reason: Unknown
% 3.37/1.80  % (17996)Termination phase: shuffling
% 3.37/1.80  
% 3.37/1.80  % (17996)Memory used [KB]: 1535
% 3.37/1.80  % (17996)Time elapsed: 0.003 s
% 3.37/1.80  % (17996)Instructions burned: 3 (million)
% 3.37/1.80  % (17996)------------------------------
% 3.37/1.80  % (17996)------------------------------
% 3.37/1.80  % (17994)Instruction limit reached!
% 3.37/1.80  % (17994)------------------------------
% 3.37/1.80  % (17994)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.80  % (17994)Termination reason: Unknown
% 3.37/1.80  % (17994)Termination phase: shuffling
% 3.37/1.80  
% 3.37/1.80  % (17994)Memory used [KB]: 1663
% 3.37/1.80  % (17994)Time elapsed: 0.009 s
% 3.37/1.80  % (17994)Instructions burned: 16 (million)
% 3.37/1.80  % (17994)------------------------------
% 3.37/1.80  % (17994)------------------------------
% 3.37/1.80  % (17997)lrs+2_1:1_apa=on:au=on:bd=preordered:cnfonf=off:cs=on:ixr=off:sos=on:i=3:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/3Mi)
% 3.37/1.80  % (17997)Instruction limit reached!
% 3.37/1.80  % (17997)------------------------------
% 3.37/1.80  % (17997)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.80  % (17997)Termination reason: Unknown
% 3.37/1.80  % (17997)Termination phase: shuffling
% 3.37/1.80  
% 3.37/1.80  % (17997)Memory used [KB]: 1535
% 3.37/1.80  % (17997)Time elapsed: 0.003 s
% 3.37/1.80  % (17997)Instructions burned: 4 (million)
% 3.37/1.80  % (17997)------------------------------
% 3.37/1.80  % (17997)------------------------------
% 3.37/1.80  % (17998)lrs+10_1:1_cnfonf=off:cs=on:hud=3:prag=on:sup=off:i=7:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/7Mi)
% 3.37/1.81  % (17998)Instruction limit reached!
% 3.37/1.81  % (17998)------------------------------
% 3.37/1.81  % (17998)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.81  % (17998)Termination reason: Unknown
% 3.37/1.81  % (17998)Termination phase: shuffling
% 3.37/1.81  
% 3.37/1.81  % (17998)Memory used [KB]: 1535
% 3.37/1.81  % (17998)Time elapsed: 0.005 s
% 3.37/1.81  % (17998)Instructions burned: 7 (million)
% 3.37/1.81  % (17998)------------------------------
% 3.37/1.81  % (17998)------------------------------
% 3.37/1.82  % (18002)dis+1004_1:1_cha=on:cs=on:fe=off:hud=1:i=4:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/4Mi)
% 3.37/1.82  % (18000)dis+1002_1:1_add=large:cnfonf=lazy_pi_sigma_gen:fe=off:prag=on:i=3:si=on:rtra=on_0 on DTF2THF_17747 for (2999ds/3Mi)
% 3.37/1.82  % (18002)Instruction limit reached!
% 3.37/1.82  % (18002)------------------------------
% 3.37/1.82  % (18002)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.82  % (18002)Termination reason: Unknown
% 3.37/1.82  % (18002)Termination phase: shuffling
% 3.37/1.82  
% 3.37/1.82  % (18002)Memory used [KB]: 1535
% 3.37/1.82  % (18002)Time elapsed: 0.004 s
% 3.37/1.82  % (18002)Instructions burned: 6 (million)
% 3.37/1.82  % (18002)------------------------------
% 3.37/1.82  % (18002)------------------------------
% 3.37/1.82  % (18000)Instruction limit reached!
% 3.37/1.82  % (18000)------------------------------
% 3.37/1.82  % (18000)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.82  % (18000)Termination reason: Unknown
% 3.37/1.82  % (18000)Termination phase: shuffling
% 3.37/1.82  
% 3.37/1.82  % (18000)Memory used [KB]: 1535
% 3.37/1.82  % (18000)Time elapsed: 0.003 s
% 3.37/1.82  % (18000)Instructions burned: 4 (million)
% 3.37/1.82  % (18000)------------------------------
% 3.37/1.82  % (18000)------------------------------
% 3.37/1.82  % (18003)lrs+1002_1:1_anc=all_dependent:au=on:cbe=off:fde=unused:ntd=on:i=18:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/18Mi)
% 3.37/1.82  % (17975)Instruction limit reached!
% 3.37/1.82  % (17975)------------------------------
% 3.37/1.82  % (17975)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.82  % (17975)Termination reason: Unknown
% 3.37/1.82  % (17975)Termination phase: Property scanning
% 3.37/1.82  
% 3.37/1.82  % (17975)Memory used [KB]: 3198
% 3.37/1.82  % (17975)Time elapsed: 0.070 s
% 3.37/1.82  % (17975)Instructions burned: 184 (million)
% 3.37/1.82  % (17975)------------------------------
% 3.37/1.82  % (17975)------------------------------
% 3.37/1.82  % (18004)lrs+10_1:1_e2e=on:sd=1:sgt=8:ss=axioms:i=710:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/710Mi)
% 3.37/1.82  % (18003)Instruction limit reached!
% 3.37/1.82  % (18003)------------------------------
% 3.37/1.82  % (18003)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.82  % (18003)Termination reason: Unknown
% 3.37/1.82  % (18003)Termination phase: shuffling
% 3.37/1.82  
% 3.37/1.82  % (18003)Memory used [KB]: 1663
% 3.37/1.82  % (18003)Time elapsed: 0.007 s
% 3.37/1.82  % (18003)Instructions burned: 20 (million)
% 3.37/1.82  % (18003)------------------------------
% 3.37/1.82  % (18003)------------------------------
% 3.37/1.83  % (18006)lrs+1004_1:1_chr=on:prag=on:i=6:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/6Mi)
% 3.37/1.83  % (18010)dis+10_1:1_cnfonf=lazy_gen:fe=off:i=5:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/5Mi)
% 3.37/1.83  % (18007)dis+1002_5:1_au=on:bd=off:e2e=on:fde=none:fs=off:fsr=off:sos=on:i=902:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/902Mi)
% 3.37/1.84  % (18006)Instruction limit reached!
% 3.37/1.84  % (18006)------------------------------
% 3.37/1.84  % (18006)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.84  % (18006)Termination reason: Unknown
% 3.37/1.84  % (18006)Termination phase: shuffling
% 3.37/1.84  
% 3.37/1.84  % (18006)Memory used [KB]: 1535
% 3.37/1.84  % (18006)Time elapsed: 0.003 s
% 3.37/1.84  % (18006)Instructions burned: 6 (million)
% 3.37/1.84  % (18006)------------------------------
% 3.37/1.84  % (18006)------------------------------
% 3.37/1.84  % (18010)Instruction limit reached!
% 3.37/1.84  % (18010)------------------------------
% 3.37/1.84  % (18010)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.84  % (18010)Termination reason: Unknown
% 3.37/1.84  % (18010)Termination phase: shuffling
% 3.37/1.84  
% 3.37/1.84  % (18010)Memory used [KB]: 1535
% 3.37/1.84  % (18010)Time elapsed: 0.003 s
% 3.37/1.84  % (18010)Instructions burned: 6 (million)
% 3.37/1.84  % (18010)------------------------------
% 3.37/1.84  % (18010)------------------------------
% 3.37/1.84  % (18009)dis+21_1:8_apa=on:cnfonf=off:fd=off:fsr=off:hud=0:ins=1:kws=inv_frequency:nwc=10.0:ss=axioms:st=5.0:i=21:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/21Mi)
% 3.37/1.85  % (18012)lrs+2_1:1_cnfonf=lazy_not_gen_be_off:cs=on:fe=off:hud=10:inj=on:ins=3:plsq=on:plsqc=1:sd=10:ss=axioms:tnu=1:i=6:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/6Mi)
% 3.37/1.85  % (18012)Instruction limit reached!
% 3.37/1.85  % (18012)------------------------------
% 3.37/1.85  % (18012)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.85  % (18012)Termination reason: Unknown
% 3.37/1.85  % (18012)Termination phase: shuffling
% 3.37/1.85  
% 3.37/1.85  % (18012)Memory used [KB]: 1663
% 3.37/1.85  % (18012)Time elapsed: 0.003 s
% 3.37/1.85  % (18012)Instructions burned: 7 (million)
% 3.37/1.85  % (18012)------------------------------
% 3.37/1.85  % (18012)------------------------------
% 3.37/1.85  % (18013)lrs+1002_1:128_au=on:c=on:fsr=off:piset=equals:i=377:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/377Mi)
% 3.37/1.85  % (18009)Instruction limit reached!
% 3.37/1.85  % (18009)------------------------------
% 3.37/1.85  % (18009)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.85  % (18009)Termination reason: Unknown
% 3.37/1.85  % (18009)Termination phase: shuffling
% 3.37/1.85  
% 3.37/1.85  % (18009)Memory used [KB]: 1663
% 3.37/1.85  % (18009)Time elapsed: 0.013 s
% 3.37/1.85  % (18009)Instructions burned: 22 (million)
% 3.37/1.85  % (18009)------------------------------
% 3.37/1.85  % (18009)------------------------------
% 3.37/1.86  % (18015)dis+1010_1:4_atotf=0.2:c=on:cbe=off:cnfonf=lazy_simp:fe=off:ins=2:ntd=on:s2a=on:s2at=5.0:sgt=5:ss=axioms:st=1.5:i=779:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/779Mi)
% 3.37/1.87  % (17980)Instruction limit reached!
% 3.37/1.87  % (17980)------------------------------
% 3.37/1.87  % (17980)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.87  % (17980)Termination reason: Unknown
% 3.37/1.87  % (17980)Termination phase: Equality resolution with deletion
% 3.37/1.87  
% 3.37/1.87  % (17980)Memory used [KB]: 3709
% 3.37/1.87  % (17980)Time elapsed: 0.118 s
% 3.37/1.87  % (17980)Instructions burned: 275 (million)
% 3.37/1.87  % (17980)------------------------------
% 3.37/1.87  % (17980)------------------------------
% 3.37/1.87  % (18016)lrs+10_1:1_cnfonf=lazy_not_be_gen:ntd=on:sp=const_min:ss=axioms:sup=off:i=19:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/19Mi)
% 3.37/1.88  % (18016)Instruction limit reached!
% 3.37/1.88  % (18016)------------------------------
% 3.37/1.88  % (18016)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.88  % (18016)Termination reason: Unknown
% 3.37/1.88  % (18016)Termination phase: shuffling
% 3.37/1.88  
% 3.37/1.88  % (18016)Memory used [KB]: 1791
% 3.37/1.88  % (18016)Time elapsed: 0.007 s
% 3.37/1.88  % (18016)Instructions burned: 22 (million)
% 3.37/1.88  % (18016)------------------------------
% 3.37/1.88  % (18016)------------------------------
% 3.37/1.89  % (18021)dis+1002_1:128_acc=on:er=filter:i=17:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/17Mi)
% 3.37/1.89  % (18020)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=879:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/879Mi)
% 3.37/1.89  % (18021)Instruction limit reached!
% 3.37/1.89  % (18021)------------------------------
% 3.37/1.89  % (18021)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.89  % (18021)Termination reason: Unknown
% 3.37/1.89  % (18021)Termination phase: shuffling
% 3.37/1.89  
% 3.37/1.89  % (18021)Memory used [KB]: 1663
% 3.37/1.89  % (18021)Time elapsed: 0.007 s
% 3.37/1.89  % (18021)Instructions burned: 19 (million)
% 3.37/1.89  % (18021)------------------------------
% 3.37/1.89  % (18021)------------------------------
% 3.37/1.91  % (18023)ott+21_1:1_apa=on:au=on:cnfonf=off:sos=on:i=3:si=on:rtra=on_0 on DTF2THF_17747 for (2998ds/3Mi)
% 3.37/1.91  % (18023)Instruction limit reached!
% 3.37/1.91  % (18023)------------------------------
% 3.37/1.91  % (18023)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.91  % (18023)Termination reason: Unknown
% 3.37/1.91  % (18023)Termination phase: shuffling
% 3.37/1.91  
% 3.37/1.91  % (18023)Memory used [KB]: 1407
% 3.37/1.91  % (18023)Time elapsed: 0.003 s
% 3.37/1.91  % (18023)Instructions burned: 3 (million)
% 3.37/1.91  % (18023)------------------------------
% 3.37/1.91  % (18023)------------------------------
% 3.37/1.93  % (18025)lrs+1010_1:8_cnfonf=off:hud=1:inj=on:tnu=5:i=30:si=on:rtra=on_0 on DTF2THF_17747 for (2997ds/30Mi)
% 3.37/1.94  % (18025)Instruction limit reached!
% 3.37/1.94  % (18025)------------------------------
% 3.37/1.94  % (18025)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/1.94  % (18025)Termination reason: Unknown
% 3.37/1.94  % (18025)Termination phase: shuffling
% 3.37/1.94  
% 3.37/1.94  % (18025)Memory used [KB]: 1918
% 3.37/1.94  % (18025)Time elapsed: 0.014 s
% 3.37/1.94  % (18025)Instructions burned: 32 (million)
% 3.37/1.94  % (18025)------------------------------
% 3.37/1.94  % (18025)------------------------------
% 3.37/1.95  % (18030)dis+10_1:1_ixr=off:plsq=on:plsqc=1:plsqr=32,1:s2a=on:i=127:si=on:rtra=on_0 on DTF2THF_17747 for (2997ds/127Mi)
% 3.37/2.00  % (18030)Instruction limit reached!
% 3.37/2.00  % (18030)------------------------------
% 3.37/2.00  % (18030)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/2.00  % (18030)Termination reason: Unknown
% 3.37/2.00  % (18030)Termination phase: shuffling
% 3.37/2.00  
% 3.37/2.00  % (18030)Memory used [KB]: 2814
% 3.37/2.00  % (18030)Time elapsed: 0.050 s
% 3.37/2.00  % (18030)Instructions burned: 127 (million)
% 3.37/2.00  % (18030)------------------------------
% 3.37/2.00  % (18030)------------------------------
% 3.37/2.02  % (18013)Instruction limit reached!
% 3.37/2.02  % (18013)------------------------------
% 3.37/2.02  % (18013)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.37/2.02  % (18013)Termination reason: Unknown
% 3.37/2.02  % (18013)Termination phase: Property scanning
% 3.37/2.02  
% 3.37/2.02  % (18013)Memory used [KB]: 3965
% 3.37/2.02  % (18013)Time elapsed: 0.165 s
% 3.37/2.02  % (18013)Instructions burned: 378 (million)
% 3.37/2.02  % (18013)------------------------------
% 3.37/2.02  % (18013)------------------------------
% 3.37/2.02  % (18035)lrs+1002_1:1_au=on:cbe=off:cnfonf=conj_eager:cond=on:hi=on:i=100:si=on:rtra=on_0 on DTF2THF_17747 for (2997ds/100Mi)
% 5.28/2.03  % (18037)dis+10_1:1_anc=none:cnfonf=lazy_gen:fd=preordered:fe=off:hud=10:ins=3:ixr=off:nwc=5.0:plsq=on:plsqc=1:plsqr=32,1:sp=const_frequency:uhcvi=on:i=3:si=on:rtra=on_0 on DTF2THF_17747 for (2996ds/3Mi)
% 5.28/2.04  % (18037)Instruction limit reached!
% 5.28/2.04  % (18037)------------------------------
% 5.28/2.04  % (18037)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 5.28/2.04  % (18037)Termination reason: Unknown
% 5.28/2.04  % (18037)Termination phase: shuffling
% 5.28/2.04  
% 5.28/2.04  % (18037)Memory used [KB]: 1535
% 5.28/2.04  % (18037)Time elapsed: 0.004 s
% 5.28/2.04  % (18037)Instructions burned: 4 (million)
% 5.28/2.04  % (18037)------------------------------
% 5.28/2.04  % (18037)------------------------------
% 5.28/2.05  % (18038)lrs+10_8:1_au=on:avsq=on:e2e=on:ins=3:s2a=on:s2at=3.0:ss=axioms:i=20:si=on:rtra=on_0 on DTF2THF_17747 for (2996ds/20Mi)
% 5.28/2.06  % (18035)Instruction limit reached!
% 5.28/2.06  % (18035)------------------------------
% 5.28/2.06  % (18035)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 5.28/2.06  % (18035)Termination reason: Unknown
% 5.28/2.06  % (18035)Termination phase: Property scanning
% 5.28/2.06  
% 5.28/2.06  % (18035)Memory used [KB]: 2814
% 5.28/2.06  % (18035)Time elapsed: 0.046 s
% 5.28/2.06  % (18035)Instructions burned: 100 (million)
% 5.28/2.06  % (18035)------------------------------
% 5.28/2.06  % (18035)------------------------------
% 5.28/2.06  % (18038)Instruction limit reached!
% 5.28/2.06  % (18038)------------------------------
% 5.28/2.06  % (18038)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 5.28/2.06  % (18038)Termination reason: Unknown
% 5.28/2.06  % (18038)Termination phase: shuffling
% 5.28/2.06  
% 5.28/2.06  % (18038)Memory used [KB]: 1663
% 5.28/2.06  % (18038)Time elapsed: 0.011 s
% 5.28/2.06  % (18038)Instructions burned: 21 (million)
% 5.28/2.06  % (18038)------------------------------
% 5.28/2.06  % (18038)------------------------------
% 5.28/2.07  % (18007)First to succeed.
% 5.28/2.07  % (18007)Refutation found. Thanks to Tanya!
% 5.28/2.07  % SZS status Theorem for DTF2THF_17747
% 5.28/2.07  % SZS output start Proof for DTF2THF_17747
% 5.28/2.07  thf(type_def_5, type, val: ($tType * $tType * $tType) > $tType).
% 5.28/2.07  thf(type_def_6, type, option: ($tType) > $tType).
% 5.28/2.07  thf(type_def_8, type, expr: ($tType * $tType * $tType) > $tType).
% 5.28/2.07  thf(type_def_9, type, product_prod: ($tType * $tType) > $tType).
% 5.28/2.07  thf(type_def_10, type, const: $tType).
% 5.28/2.07  thf(type_def_11, type, cntxt: ($tType * $tType * $tType) > $tType).
% 5.28/2.07  thf(type_def_12, type, set: ($tType) > $tType).
% 5.28/2.07  thf(type_def_13, type, r: $tType).
% 5.28/2.07  thf(type_def_14, type, l: $tType).
% 5.28/2.07  thf(type_def_15, type, v: $tType).
% 5.28/2.07  thf(type_def_16, type, sum_sum: ($tType * $tType) > $tType).
% 5.28/2.07  thf(func_def_0, type, product_prod: ($tType * $tType) > $tType).
% 5.28/2.07  thf(func_def_1, type, sum_sum: ($tType * $tType) > $tType).
% 5.28/2.07  thf(func_def_2, type, option: ($tType) > $tType).
% 5.28/2.07  thf(func_def_3, type, const: $tType).
% 5.28/2.07  thf(func_def_4, type, cntxt: ($tType * $tType * $tType) > $tType).
% 5.28/2.07  thf(func_def_5, type, expr: ($tType * $tType * $tType) > $tType).
% 5.28/2.07  thf(func_def_6, type, val: ($tType * $tType * $tType) > $tType).
% 5.28/2.07  thf(func_def_7, type, set: ($tType) > $tType).
% 5.28/2.07  thf(func_def_8, type, v: $tType).
% 5.28/2.07  thf(func_def_9, type, r: $tType).
% 5.28/2.07  thf(func_def_10, type, l: $tType).
% 5.28/2.07  thf(func_def_11, type, type: !>[X0: $tType]:($o)).
% 5.28/2.07  thf(func_def_12, type, order: !>[X0: $tType]:($o)).
% 5.28/2.07  thf(func_def_13, type, finite_finite: !>[X0: $tType]:($o)).
% 5.28/2.07  thf(func_def_14, type, semiring_char_0: !>[X0: $tType]:($o)).
% 5.28/2.07  thf(func_def_15, type, lID_expression: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ expr @ X1 @ X0 @ X2 > expr @ X1 @ X0 @ X2)).
% 5.28/2.07  thf(func_def_16, type, lID_local_store: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ expr @ X1 @ X0 @ X2 > X0 > option @ val @ X1 @ X0 @ X2)).
% 5.28/2.07  thf(func_def_17, type, lID_snapshot: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ expr @ X1 @ X0 @ X2 > X0 > option @ val @ X1 @ X0 @ X2)).
% 5.28/2.07  thf(func_def_18, type, combine: !>[X0: $tType, X1: $tType]:((X0 > option @ X1) > (X0 > option @ X1) > X0 > option @ X1)).
% 5.28/2.07  thf(func_def_19, type, unit: const).
% 5.28/2.07  thf(func_def_20, type, ref: !>[X0: $tType, X1: $tType, X2: $tType]:(expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2)).
% 5.28/2.07  thf(func_def_21, type, rfork: !>[X0: $tType, X1: $tType, X2: $tType]:(expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2)).
% 5.28/2.07  thf(func_def_22, type, rjoin: !>[X0: $tType, X1: $tType, X2: $tType]:(expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2)).
% 5.28/2.07  thf(func_def_23, type, ve: !>[X0: $tType, X1: $tType, X2: $tType]:(val @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2)).
% 5.28/2.07  thf(func_def_24, type, plug: !>[X0: $tType, X1: $tType, X2: $tType]:(cntxt @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2)).
% 5.28/2.07  thf(func_def_25, type, cv: !>[X0: $tType, X1: $tType, X2: $tType]:(const > val @ X0 @ X1 @ X2)).
% 5.28/2.07  thf(func_def_26, type, loc: !>[X0: $tType, X1: $tType, X2: $tType]:(X0 > val @ X1 @ X0 @ X2)).
% 5.28/2.07  thf(func_def_27, type, rid: !>[X0: $tType, X1: $tType, X2: $tType]:(X0 > val @ X0 @ X1 @ X2)).
% 5.28/2.07  thf(func_def_28, type, execution: !>[X0: $tType, X1: $tType, X2: $tType]:((expr @ X0 @ X1 @ X2 > X2 > expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2) > expr @ X0 @ X1 @ X2 > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_29, type, inductive_invariant: !>[X0: $tType, X1: $tType, X2: $tType]:((expr @ X0 @ X1 @ X2 > X2 > expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2) > ((X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o) > $o)).
% 5.28/2.07  thf(func_def_30, type, reachable: !>[X0: $tType, X1: $tType, X2: $tType]:((expr @ X0 @ X1 @ X2 > X2 > expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2) > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_31, type, finite_finite2: !>[X0: $tType]:(set @ X0 > $o)).
% 5.28/2.07  thf(func_def_32, type, bij_betw: !>[X0: $tType, X1: $tType]:((X0 > X1) > set @ X0 > set @ X1 > $o)).
% 5.28/2.07  thf(func_def_33, type, fun_upd: !>[X0: $tType, X1: $tType]:((X0 > X1) > X0 > X1 > X0 > X1)).
% 5.28/2.07  thf(func_def_34, type, if: !>[X0: $tType]:($o > X0 > X0 > X0)).
% 5.28/2.07  thf(func_def_35, type, map_comp: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > option @ X1) > (X2 > option @ X0) > X2 > option @ X1)).
% 5.28/2.07  thf(func_def_36, type, lID_G: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > set @ X1)).
% 5.28/2.07  thf(func_def_37, type, lID_L: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ expr @ X1 @ X0 @ X2 > set @ X0)).
% 5.28/2.07  thf(func_def_38, type, rID_G: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > set @ X0)).
% 5.28/2.07  thf(func_def_39, type, rID_L: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ expr @ X1 @ X0 @ X2 > set @ X1)).
% 5.28/2.07  thf(func_def_40, type, domains_subsume: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ product_prod @ (X0 > option @ val @ X1 @ X0 @ X2) @ expr @ X1 @ X0 @ X2 > $o)).
% 5.28/2.07  thf(func_def_41, type, domain398919503obally: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_42, type, revision_step: !>[X0: $tType, X1: $tType, X2: $tType]:((expr @ X0 @ X1 @ X2 > X2 > expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2) > X0 > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_43, type, revisi1433015572elaxed: !>[X0: $tType, X1: $tType, X2: $tType]:((expr @ X0 @ X1 @ X2 > X2 > expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2) > X0 > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_44, type, subsumes_accessible: !>[X0: $tType, X1: $tType, X2: $tType]:(X0 > X0 > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_45, type, subsum380726323obally: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_46, type, none: !>[X0: $tType]:(option @ X0)).
% 5.28/2.07  thf(func_def_47, type, some: !>[X0: $tType]:(X0 > option @ X0)).
% 5.28/2.07  thf(func_def_48, type, ord_less_eq: !>[X0: $tType]:(X0 > X0 > $o)).
% 5.28/2.07  thf(func_def_49, type, top_top: !>[X0: $tType]:(X0)).
% 5.28/2.07  thf(func_def_50, type, product_Pair: !>[X0: $tType, X1: $tType]:(X0 > X1 > product_prod @ X0 @ X1)).
% 5.28/2.07  thf(func_def_51, type, produc2004651681e_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 5.28/2.07  thf(func_def_52, type, product_rec_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 5.28/2.07  thf(func_def_53, type, r_G: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X0) > (X1 > X1) > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2)).
% 5.28/2.07  thf(func_def_54, type, r_L: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X0) > (X1 > X1) > product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2 > product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2)).
% 5.28/2.07  thf(func_def_55, type, eq_states: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_56, type, is_global_renaming: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X0) > (X1 > X1) > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > (X0 > option @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ product_prod @ (X1 > option @ val @ X0 @ X1 @ X2) @ expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_57, type, collect: !>[X0: $tType]:((X0 > $o) > set @ X0)).
% 5.28/2.07  thf(func_def_58, type, substitution: !>[X0: $tType, X1: $tType, X2: $tType]:((expr @ X0 @ X1 @ X2 > X2 > expr @ X0 @ X1 @ X2 > expr @ X0 @ X1 @ X2) > $o)).
% 5.28/2.07  thf(func_def_59, type, member: !>[X0: $tType]:(X0 > set @ X0 > $o)).
% 5.28/2.07  thf(func_def_60, type, e: cntxt @ r @ l @ v).
% 5.28/2.07  thf(func_def_61, type, alpha: r > r).
% 5.28/2.07  thf(func_def_62, type, beta: l > l).
% 5.28/2.07  thf(func_def_63, type, sigma: l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_64, type, tau: l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_65, type, e2: expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_66, type, r2: r).
% 5.28/2.07  thf(func_def_67, type, r3: r).
% 5.28/2.07  thf(func_def_68, type, s: r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_69, type, s2: r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_70, type, subst: expr @ r @ l @ v > v > expr @ r @ l @ v > expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_87, type, sP0: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > $o)).
% 5.28/2.07  thf(func_def_88, type, sP1: r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > $o).
% 5.28/2.07  thf(func_def_89, type, sP2: !>[X0: $tType, X1: $tType]:((option @ X1 > option @ X0 > $o) > option @ X1 > option @ X0 > $o)).
% 5.28/2.07  thf(func_def_90, type, sK3: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2)).
% 5.28/2.07  thf(func_def_91, type, sK4: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_92, type, sK5: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_93, type, sK6: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_94, type, sK7: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_95, type, sK8: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_96, type, sK9: r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_97, type, sK10: r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_98, type, sK11: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_99, type, sK12: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_100, type, sK13: !>[X0: $tType, X1: $tType, X2: $tType]:(((X1 > X1) > (X2 > X2) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > $o) > X1 > X1)).
% 5.28/2.07  thf(func_def_101, type, sK14: !>[X0: $tType, X1: $tType, X2: $tType]:(((X1 > X1) > (X2 > X2) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > $o) > X2 > X2)).
% 5.28/2.07  thf(func_def_102, type, sK15: !>[X0: $tType, X1: $tType, X2: $tType]:(((X1 > X1) > (X2 > X2) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > $o) > X2 > option @ val @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_103, type, sK16: !>[X0: $tType, X1: $tType, X2: $tType]:(((X1 > X1) > (X2 > X2) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > $o) > X2 > option @ val @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_104, type, sK17: !>[X0: $tType, X1: $tType, X2: $tType]:(((X1 > X1) > (X2 > X2) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > $o) > expr @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_105, type, sK18: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 5.28/2.07  thf(func_def_106, type, sK19: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 5.28/2.07  thf(func_def_107, type, sK20: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 5.28/2.07  thf(func_def_108, type, sK21: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_109, type, sK22: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > val @ r @ l @ v > cntxt @ r @ l @ v > (l > option @ val @ r @ l @ v) > (l > option @ val @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > l).
% 5.28/2.07  thf(func_def_110, type, sK23: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X2 > X2) @ product_prod @ (X1 > X1) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > X2 > X2)).
% 5.28/2.07  thf(func_def_111, type, sK24: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X2 > X2) @ product_prod @ (X1 > X1) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > X1 > X1)).
% 5.28/2.07  thf(func_def_112, type, sK25: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X2 > X2) @ product_prod @ (X1 > X1) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_113, type, sK26: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X2 > X2) @ product_prod @ (X1 > X1) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_114, type, sK27: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X2 > X2) @ product_prod @ (X1 > X1) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_115, type, sK28: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > option @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ expr @ X0 @ X2 @ X1) > (X0 > option @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ expr @ X0 @ X2 @ X1) > X0 > X0)).
% 5.28/2.07  thf(func_def_116, type, sK29: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > option @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ expr @ X0 @ X2 @ X1) > (X0 > option @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ expr @ X0 @ X2 @ X1) > X2 > X2)).
% 5.28/2.07  thf(func_def_117, type, sK30: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_118, type, sK31: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_119, type, sK32: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > expr @ r @ l @ v > cntxt @ r @ l @ v > (l > option @ val @ r @ l @ v) > (l > option @ val @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r).
% 5.28/2.07  thf(func_def_120, type, sK33: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_121, type, sK34: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_122, type, sK35: !>[X0: $tType]:(option @ X0 > X0)).
% 5.28/2.07  thf(func_def_123, type, sK36: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2)).
% 5.28/2.07  thf(func_def_124, type, sK37: !>[X0: $tType]:(option @ X0 > X0)).
% 5.28/2.07  thf(func_def_125, type, sK38: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_126, type, sK39: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_127, type, sK40: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > cntxt @ r @ l @ v).
% 5.28/2.07  thf(func_def_128, type, sK41: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_129, type, sK42: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X1)).
% 5.28/2.07  thf(func_def_130, type, sK43: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_131, type, sK44: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 5.28/2.07  thf(func_def_132, type, sK45: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 5.28/2.07  thf(func_def_133, type, sK46: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_134, type, sK47: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_135, type, sK48: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_136, type, sK49: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ expr @ X2 @ X0 @ X1) > expr @ X2 @ X0 @ X1 > cntxt @ X2 @ X0 @ X1 > (X0 > option @ val @ X2 @ X0 @ X1) > (X0 > option @ val @ X2 @ X0 @ X1) > X2 > (X2 > option @ product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ expr @ X2 @ X0 @ X1) > X2)).
% 5.28/2.07  thf(func_def_137, type, sK50: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X1)).
% 5.28/2.07  thf(func_def_138, type, sK51: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_139, type, sK52: !>[X0: $tType, X1: $tType]:(X0 > (X1 > X0) > X1)).
% 5.28/2.07  thf(func_def_140, type, sK53: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > l).
% 5.28/2.07  thf(func_def_141, type, sK54: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > $o) > X2 > option @ val @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_142, type, sK55: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > $o) > X2 > option @ val @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_143, type, sK56: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > $o) > expr @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_144, type, sK57: !>[X0: $tType, X1: $tType, X2: $tType]:((X1 > option @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0) > val @ X1 @ X2 @ X0 > cntxt @ X1 @ X2 @ X0 > (X2 > option @ val @ X1 @ X2 @ X0) > (X2 > option @ val @ X1 @ X2 @ X0) > X1 > (X1 > option @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0) > X2)).
% 5.28/2.07  thf(func_def_145, type, sK58: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_146, type, sK59: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_147, type, sK60: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > cntxt @ r @ l @ v).
% 5.28/2.07  thf(func_def_148, type, sK61: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > val @ r @ l @ v).
% 5.28/2.07  thf(func_def_149, type, sK62: !>[X0: $tType, X1: $tType, X2: $tType]:(X0 > X1 > (X1 > option @ X2) > (X2 > option @ X0) > X2)).
% 5.28/2.07  thf(func_def_150, type, sK63: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2)).
% 5.28/2.07  thf(func_def_151, type, sK64: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_152, type, sK65: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_153, type, sK66: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_154, type, sK67: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2)).
% 5.28/2.07  thf(func_def_155, type, sK68: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_156, type, sK69: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_157, type, sK70: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_158, type, sK71: !>[X0: $tType, X1: $tType, X2: $tType]:((X1 > option @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0) > X2 > X1)).
% 5.28/2.07  thf(func_def_159, type, sK72: !>[X0: $tType, X1: $tType, X2: $tType]:((X1 > option @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0) > X2 > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_160, type, sK73: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X5)).
% 5.28/2.07  thf(func_def_161, type, sK74: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 5.28/2.07  thf(func_def_162, type, sK75: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 5.28/2.07  thf(func_def_163, type, sK76: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 5.28/2.07  thf(func_def_164, type, sK77: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 5.28/2.07  thf(func_def_165, type, sK78: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_166, type, sK79: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_167, type, sK80: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_168, type, sK81: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_169, type, sK82: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_170, type, sK83: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_171, type, sK84: !>[X0: $tType, X1: $tType]:(product_prod @ (X1 > option @ X0) @ product_prod @ (X1 > option @ X0) @ X1 > X1 > option @ X0)).
% 5.28/2.07  thf(func_def_172, type, sK85: !>[X0: $tType, X1: $tType]:(product_prod @ (X1 > option @ X0) @ product_prod @ (X1 > option @ X0) @ X1 > X1 > option @ X0)).
% 5.28/2.07  thf(func_def_173, type, sK86: !>[X0: $tType, X1: $tType]:(product_prod @ (X1 > option @ X0) @ product_prod @ (X1 > option @ X0) @ X1 > X1)).
% 5.28/2.07  thf(func_def_174, type, sK87: !>[X0: $tType, X1: $tType, X2: $tType]:((X1 > X1) > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > X2) > X2)).
% 5.28/2.07  thf(func_def_175, type, sK88: !>[X0: $tType, X1: $tType, X2: $tType]:((X1 > X1) > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > X2) > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_176, type, sK89: !>[X0: $tType, X1: $tType, X2: $tType]:((X1 > X1) > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > X2) > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_177, type, sK90: !>[X0: $tType, X1: $tType, X2: $tType]:((X1 > X1) > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > X2) > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_178, type, sK91: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (X2 > X2) > X2)).
% 5.28/2.07  thf(func_def_179, type, sK92: !>[X0: $tType]:(X0 > set @ X0 > X0)).
% 5.28/2.07  thf(func_def_180, type, sK93: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X0)).
% 5.28/2.07  thf(func_def_181, type, sK94: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X1)).
% 5.28/2.07  thf(func_def_182, type, sK95: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X2)).
% 5.28/2.07  thf(func_def_183, type, sK96: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X3)).
% 5.28/2.07  thf(func_def_184, type, sK97: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X4)).
% 5.28/2.07  thf(func_def_185, type, sK98: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X0)).
% 5.28/2.07  thf(func_def_186, type, sK99: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X1)).
% 5.28/2.07  thf(func_def_187, type, sK100: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X2)).
% 5.28/2.07  thf(func_def_188, type, sK101: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X3)).
% 5.28/2.07  thf(func_def_189, type, sK102: !>[X0: $tType, X1: $tType]:((X1 > X0 > $o) > set @ X1 > X1 > X0)).
% 5.28/2.07  thf(func_def_190, type, sK103: !>[X0: $tType, X1: $tType]:((X1 > X0 > $o) > set @ X1 > X1)).
% 5.28/2.07  thf(func_def_191, type, sK104: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_192, type, sK105: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_193, type, sK106: !>[X0: $tType, X1: $tType]:((option @ X1 > option @ X0 > $o) > option @ X1 > option @ X0 > X1)).
% 5.28/2.07  thf(func_def_194, type, sK107: !>[X0: $tType, X1: $tType]:((option @ X1 > option @ X0 > $o) > option @ X1 > option @ X0 > X0)).
% 5.28/2.07  thf(func_def_195, type, sK108: !>[X0: $tType]:((X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_196, type, sK109: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r).
% 5.28/2.07  thf(func_def_197, type, sK110: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_198, type, sK111: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_199, type, sK112: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_200, type, sK113: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 5.28/2.07  thf(func_def_201, type, sK114: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 5.28/2.07  thf(func_def_202, type, sK115: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X0)).
% 5.28/2.07  thf(func_def_203, type, sK116: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X1)).
% 5.28/2.07  thf(func_def_204, type, sK117: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X2)).
% 5.28/2.07  thf(func_def_205, type, sK118: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X3)).
% 5.28/2.07  thf(func_def_206, type, sK119: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X4)).
% 5.28/2.07  thf(func_def_207, type, sK120: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X5)).
% 5.28/2.07  thf(func_def_208, type, sK121: r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_209, type, sK122: r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_210, type, sK123: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_211, type, sK124: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_212, type, sK125: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r).
% 5.28/2.07  thf(func_def_213, type, sK126: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_214, type, sK127: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_215, type, sK128: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_216, type, sK129: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r).
% 5.28/2.07  thf(func_def_217, type, sK130: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_218, type, sK131: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_219, type, sK132: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_220, type, sK133: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_221, type, sK134: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_222, type, sK135: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_223, type, sK136: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_224, type, sK137: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_225, type, sK138: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_226, type, sK139: !>[X0: $tType]:((option @ X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_227, type, sK140: !>[X0: $tType, X1: $tType]:(set @ X0 > set @ X1 > X0 > X1)).
% 5.28/2.07  thf(func_def_228, type, sK141: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 5.28/2.07  thf(func_def_229, type, sK142: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 5.28/2.07  thf(func_def_230, type, sK143: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 5.28/2.07  thf(func_def_231, type, sK144: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 5.28/2.07  thf(func_def_232, type, sK145: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_233, type, sK146: !>[X0: $tType, X1: $tType]:((X1 > X0 > $o) > set @ X0 > set @ X1 > X1)).
% 5.28/2.07  thf(func_def_234, type, sK147: !>[X0: $tType, X1: $tType]:((X1 > X0 > $o) > set @ X0 > set @ X1 > X0)).
% 5.28/2.07  thf(func_def_235, type, sK148: !>[X0: $tType]:(set @ X0 > X0)).
% 5.28/2.07  thf(func_def_236, type, sK149: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_237, type, sK150: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_238, type, sK151: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > cntxt @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_239, type, sK152: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_240, type, sK153: !>[X0: $tType, X1: $tType, X2: $tType]:(expr @ X2 @ X1 @ X0 > product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_241, type, sK154: !>[X0: $tType, X1: $tType, X2: $tType]:(expr @ X2 @ X1 @ X0 > product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_242, type, sK155: !>[X0: $tType, X1: $tType, X2: $tType]:(expr @ X2 @ X1 @ X0 > product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_243, type, sK156: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r).
% 5.28/2.07  thf(func_def_244, type, sK157: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_245, type, sK158: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_246, type, sK159: !>[X0: $tType]:(X0 > set @ X0 > X0)).
% 5.28/2.07  thf(func_def_247, type, sK160: !>[X0: $tType]:(option @ X0 > X0)).
% 5.28/2.07  thf(func_def_248, type, sK161: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ val @ X1 @ X2 @ X0) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > X2 > option @ val @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_249, type, sK162: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ val @ X1 @ X2 @ X0) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > X2 > option @ val @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_250, type, sK163: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ val @ X1 @ X2 @ X0) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > expr @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_251, type, sK164: !>[X0: $tType, X1: $tType]:((X0 > X1) > (X0 > X1) > set @ X0 > X0)).
% 5.28/2.07  thf(func_def_252, type, sK165: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_253, type, sK166: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > X1 > option @ val @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_254, type, sK167: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > cntxt @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_255, type, sK168: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_256, type, sK169: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > X0) @ product_prod @ (X2 > X2) @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ X2 > X0 > X0)).
% 5.28/2.07  thf(func_def_257, type, sK170: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > X0) @ product_prod @ (X2 > X2) @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ X2 > X2 > X2)).
% 5.28/2.07  thf(func_def_258, type, sK171: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > X0) @ product_prod @ (X2 > X2) @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ X2 > X2 > option @ val @ X0 @ X2 @ X1)).
% 5.28/2.07  thf(func_def_259, type, sK172: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ (X0 > X0) @ product_prod @ (X2 > X2) @ product_prod @ (X2 > option @ val @ X0 @ X2 @ X1) @ X2 > X2)).
% 5.28/2.07  thf(func_def_260, type, sK173: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X6)).
% 5.28/2.07  thf(func_def_261, type, sK174: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X5)).
% 5.28/2.07  thf(func_def_262, type, sK175: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 5.28/2.07  thf(func_def_263, type, sK176: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 5.28/2.07  thf(func_def_264, type, sK177: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 5.28/2.07  thf(func_def_265, type, sK178: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 5.28/2.07  thf(func_def_266, type, sK179: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_267, type, sK180: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X0)).
% 5.28/2.07  thf(func_def_268, type, sK181: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X1)).
% 5.28/2.07  thf(func_def_269, type, sK182: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X2)).
% 5.28/2.07  thf(func_def_270, type, sK183: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_271, type, sK184: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_272, type, sK185: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_273, type, sK186: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_274, type, sK187: !>[X0: $tType, X1: $tType]:((X1 > X0) > (X1 > X0) > X1)).
% 5.28/2.07  thf(func_def_275, type, sK188: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_276, type, sK189: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_277, type, sK190: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > cntxt @ r @ l @ v).
% 5.28/2.07  thf(func_def_278, type, sK191: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > val @ r @ l @ v).
% 5.28/2.07  thf(func_def_279, type, sK192: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_280, type, sK193: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_281, type, sK194: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ expr @ X2 @ X0 @ X1) > X2)).
% 5.28/2.07  thf(func_def_282, type, sK195: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ expr @ X2 @ X0 @ X1) > product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ product_prod @ (X0 > option @ val @ X2 @ X0 @ X1) @ expr @ X2 @ X0 @ X1)).
% 5.28/2.07  thf(func_def_283, type, sK196: !>[X0: $tType]:((X0 > $o) > (X0 > $o) > X0)).
% 5.28/2.07  thf(func_def_284, type, sK197: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ val @ X1 @ X2 @ X0) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > X2 > option @ val @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_285, type, sK198: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ val @ X1 @ X2 @ X0) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > X2 > option @ val @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_286, type, sK199: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ val @ X1 @ X2 @ X0) > product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ product_prod @ (X2 > option @ val @ X1 @ X2 @ X0) @ expr @ X1 @ X2 @ X0 > expr @ X1 @ X2 @ X0)).
% 5.28/2.07  thf(func_def_287, type, sK200: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X0)).
% 5.28/2.07  thf(func_def_288, type, sK201: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X1)).
% 5.28/2.07  thf(func_def_289, type, sK202: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X2)).
% 5.28/2.07  thf(func_def_290, type, sK203: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X3)).
% 5.28/2.07  thf(func_def_291, type, sK204: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X4)).
% 5.28/2.07  thf(func_def_292, type, sK205: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X5)).
% 5.28/2.07  thf(func_def_293, type, sK206: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X6)).
% 5.28/2.07  thf(func_def_294, type, sK207: !>[X0: $tType, X1: $tType, X2: $tType]:(X1 > (X1 > option @ X2) > (X2 > option @ X0) > X2)).
% 5.28/2.07  thf(func_def_295, type, sK208: !>[X0: $tType, X1: $tType]:(((X1 > X0) > $o) > X0 > X1)).
% 5.28/2.07  thf(func_def_296, type, sK209: !>[X0: $tType, X1: $tType]:(((X1 > X0) > $o) > X0 > X0)).
% 5.28/2.07  thf(func_def_297, type, sK210: !>[X0: $tType, X1: $tType]:(((X1 > X0) > $o) > X0 > X1 > X0)).
% 5.28/2.07  thf(func_def_298, type, sK211: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X1)).
% 5.28/2.07  thf(func_def_299, type, sK212: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_300, type, sK213: !>[X0: $tType, X1: $tType, X2: $tType]:((X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_301, type, sK214: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_302, type, sK215: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > l > option @ val @ r @ l @ v).
% 5.28/2.07  thf(func_def_303, type, sK216: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > cntxt @ r @ l @ v).
% 5.28/2.07  thf(func_def_304, type, sK217: (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_305, type, sK218: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 5.28/2.07  thf(func_def_306, type, sK219: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 5.28/2.07  thf(func_def_307, type, sK220: r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_308, type, sK221: r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > (r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v) > r > option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v).
% 5.28/2.07  thf(func_def_309, type, sK222: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_310, type, sK223: !>[X0: $tType, X1: $tType, X2: $tType]:(X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > X2 > (X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0) > (expr @ X2 @ X1 @ X0 > X0 > expr @ X2 @ X1 @ X0 > expr @ X2 @ X1 @ X0) > X2 > option @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ product_prod @ (X1 > option @ val @ X2 @ X1 @ X0) @ expr @ X2 @ X1 @ X0)).
% 5.28/2.07  thf(func_def_312, type, ph225: !>[X0: $tType]:(X0)).
% 5.28/2.07  thf(func_def_313, type, sK226: r).
% 5.28/2.07  thf(f1844,plain,(
% 5.28/2.07    $false),
% 5.28/2.07    inference(trivial_inequality_removal,[status(thm)],[f1843])).
% 5.28/2.07  thf(f1843,plain,(
% 5.28/2.07    (s != s)),
% 5.28/2.07    inference(superposition,[status(thm)],[f1839,f1741])).
% 5.28/2.07  thf(f1741,plain,(
% 5.28/2.07    ( ! [X1 : $tType,X0 : $tType,X2 : X1 > X0,X3 : X1] : (((fun_upd @ X1 @ X0 @ X2 @ X3 @ (X2 @ X3)) = X2)) )),
% 5.28/2.07    inference(equality_resolution,[status(thm)],[f1363])).
% 5.28/2.07  thf(f1363,plain,(
% 5.28/2.07    ( ! [X1 : $tType,X0 : $tType,X2 : X1 > X0,X3 : X1,X4 : X0] : (((fun_upd @ X1 @ X0 @ X2 @ X3 @ X4) = X2) | ((X2 @ X3) != X4)) )),
% 5.28/2.07    inference(cnf_transformation,[status(thm)],[f1000])).
% 5.28/2.07  thf(f1000,plain,(
% 5.28/2.07    ! [X0 : $tType,X1 : $tType,X2 : X1 > X0,X3 : X1,X4 : X0] : (((fun_upd @ X1 @ X0 @ X2 @ X3 @ X4) = X2) | ((X2 @ X3) != X4))),
% 5.28/2.07    inference(ennf_transformation,[status(thm)],[f721])).
% 5.28/2.07  thf(f721,plain,(
% 5.28/2.07    ! [X0 : $tType,X1 : $tType,X2 : X1 > X0,X3 : X1,X4 : X0] : (((X2 @ X3) = X4) => ((fun_upd @ X1 @ X0 @ X2 @ X3 @ X4) = X2))),
% 5.28/2.07    inference(rectify,[status(thm)],[f25])).
% 5.28/2.07  thf(f25,axiom,(
% 5.28/2.07    ! [X0 : $tType,X4 : $tType,X12 : X4 > X0,X13 : X4,X14 : X0] : (((X12 @ X13) = X14) => ((fun_upd @ X4 @ X0 @ X12 @ X13 @ X14) = X12))),
% 5.28/2.07    file('/export/starexec/sandbox/tmp/tmp.9vsdmJoB3y/DTF2THF_17747.p',fact_24_fun__upd__idem)).
% 5.28/2.07  thf(f1839,plain,(
% 5.28/2.07    (s != (fun_upd @ r @ option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ s @ r2 @ (s @ r2)))),
% 5.28/2.07    inference(forward_demodulation,[status(thm)],[f1343,f1429])).
% 5.28/2.07  thf(f1429,plain,(
% 5.28/2.07    ((s @ r2) = (some @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ (product_Pair @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ sigma @ (product_Pair @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ tau @ (plug @ r @ l @ v @ e @ (rfork @ r @ l @ v @ e2))))))),
% 5.28/2.07    inference(cnf_transformation,[status(thm)],[f1])).
% 5.28/2.07  thf(f1,axiom,(
% 5.28/2.07    ((s @ r2) = (some @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ (product_Pair @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ sigma @ (product_Pair @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ tau @ (plug @ r @ l @ v @ e @ (rfork @ r @ l @ v @ e2))))))),
% 5.28/2.07    file('/export/starexec/sandbox/tmp/tmp.9vsdmJoB3y/DTF2THF_17747.p',fact_0_local_Ofork_I2_J)).
% 5.28/2.07  thf(f1343,plain,(
% 5.28/2.07    (s != (fun_upd @ r @ option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ s @ r2 @ (some @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ (product_Pair @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ sigma @ (product_Pair @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ tau @ (plug @ r @ l @ v @ e @ (rfork @ r @ l @ v @ e2)))))))),
% 5.28/2.07    inference(cnf_transformation,[status(thm)],[f693])).
% 5.28/2.07  thf(f693,plain,(
% 5.28/2.07    (s != (fun_upd @ r @ option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ s @ r2 @ (some @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ (product_Pair @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ sigma @ (product_Pair @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ tau @ (plug @ r @ l @ v @ e @ (rfork @ r @ l @ v @ e2)))))))),
% 5.28/2.07    inference(flattening,[status(thm)],[f269])).
% 5.28/2.07  thf(f269,negated_conjecture,(
% 5.28/2.07    ~(s = (fun_upd @ r @ option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ s @ r2 @ (some @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ (product_Pair @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ sigma @ (product_Pair @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ tau @ (plug @ r @ l @ v @ e @ (rfork @ r @ l @ v @ e2)))))))),
% 5.28/2.07    inference(negated_conjecture,[status(cth)],[f268])).
% 5.28/2.07  thf(f268,conjecture,(
% 5.28/2.07    (s = (fun_upd @ r @ option @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ s @ r2 @ (some @ product_prod @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ (product_Pair @ (l > option @ val @ r @ l @ v) @ product_prod @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ sigma @ (product_Pair @ (l > option @ val @ r @ l @ v) @ expr @ r @ l @ v @ tau @ (plug @ r @ l @ v @ e @ (rfork @ r @ l @ v @ e2)))))))),
% 5.28/2.07    file('/export/starexec/sandbox/tmp/tmp.9vsdmJoB3y/DTF2THF_17747.p',conj_0)).
% 5.28/2.07  % SZS output end Proof for DTF2THF_17747
% 5.28/2.07  % (18007)------------------------------
% 5.28/2.07  % (18007)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 5.28/2.07  % (18007)Termination reason: Refutation
% 5.28/2.07  
% 5.28/2.07  % (18007)Memory used [KB]: 9594
% 5.28/2.07  % (18007)Time elapsed: 0.237 s
% 5.28/2.07  % (18007)Instructions burned: 519 (million)
% 5.28/2.07  % (18007)------------------------------
% 5.28/2.07  % (18007)------------------------------
% 5.28/2.07  % (17963)Success in time 0.363 s
%------------------------------------------------------------------------------