nomin_2.miz
    
    begin
    
    reserve a,b,c,v,v1,x,y for
    object;
    
    reserve V,A for
    set;
    
    reserve d for
    TypeSCNominativeData of V, A; 
    
    theorem :: 
    
    NOMIN_2:1
    
    
    
    
    
    Th1: 
    {a, b, c}
    c= A iff a 
    in A & b 
    in A & c 
    in A 
    
    proof
    
      set X =
    {a, b, c};
    
      a
    in X & b 
    in X & c 
    in X by 
    ENUMSET1:def 1;
    
      hence
    {a, b, c}
    c= A implies a 
    in A & b 
    in A & c 
    in A; 
    
      assume
    
      
    
    A1: a 
    in A & b 
    in A & c 
    in A; 
    
      let x;
    
      thus thesis by
    A1,
    ENUMSET1:def 1;
    
    end;
    
    registration
    
      let a,b,c,d,e,f be
    object;
    
      cluster 
    {
    [a, b],
    [c, d],
    [e, f]} ->
    Relation-like;
    
      coherence
    
      proof
    
        let x;
    
        assume x
    in  
    {
    [a, b],
    [c, d],
    [e, f]};
    
        then x
    =  
    [a, b] or x
    =  
    [c, d] or x
    =  
    [e, f] by
    ENUMSET1:def 1;
    
        hence thesis;
    
      end;
    
    end
    
    theorem :: 
    
    NOMIN_2:2
    
    
    
    
    
    Th2: for a,b,c,d,e,f be 
    object holds ( 
    dom  
    {
    [a, b],
    [c, d],
    [e, f]})
    =  
    {a, c, e}
    
    proof
    
      let a,b,c,d,e,f be
    object;
    
      
    
      
    
    A1: ( 
    dom  
    {
    [a, b],
    [c, d]})
    =  
    {a, c} by
    RELAT_1: 10;
    
      
    
      
    
    A2: ( 
    dom  
    {
    [e, f]})
    =  
    {e} by
    RELAT_1: 9;
    
      
    {
    [a, b],
    [c, d],
    [e, f]}
    = ( 
    {
    [a, b],
    [c, d]}
    \/  
    {
    [e, f]}) by
    ENUMSET1: 3;
    
      
    
      hence (
    dom  
    {
    [a, b],
    [c, d],
    [e, f]})
    = (( 
    dom  
    {
    [a, b],
    [c, d]})
    \/ ( 
    dom  
    {
    [e, f]})) by
    XTUPLE_0: 23
    
      .=
    {a, c, e} by
    A1,
    A2,
    ENUMSET1: 3;
    
    end;
    
    theorem :: 
    
    NOMIN_2:3
    
    
    
    
    
    Th3: for a,b,c,d,e,f be 
    object holds ( 
    rng  
    {
    [a, b],
    [c, d],
    [e, f]})
    =  
    {b, d, f}
    
    proof
    
      let a,b,c,d,e,f be
    object;
    
      
    
      
    
    A1: ( 
    rng  
    {
    [a, b],
    [c, d]})
    =  
    {b, d} by
    RELAT_1: 10;
    
      
    
      
    
    A2: ( 
    rng  
    {
    [e, f]})
    =  
    {f} by
    RELAT_1: 9;
    
      
    {
    [a, b],
    [c, d],
    [e, f]}
    = ( 
    {
    [a, b],
    [c, d]}
    \/  
    {
    [e, f]}) by
    ENUMSET1: 3;
    
      
    
      hence (
    rng  
    {
    [a, b],
    [c, d],
    [e, f]})
    = (( 
    rng  
    {
    [a, b],
    [c, d]})
    \/ ( 
    rng  
    {
    [e, f]})) by
    XTUPLE_0: 27
    
      .=
    {b, d, f} by
    A1,
    A2,
    ENUMSET1: 3;
    
    end;
    
    registration
    
      let V;
    
      cluster 
    one-to-oneV
    -valued for 
    FinSequence;
    
      existence
    
      proof
    
        per cases ;
    
          suppose V is
    empty;
    
          take (
    <*> V); 
    
          thus thesis;
    
        end;
    
          suppose V is non
    empty;
    
          then
    
          reconsider V as non
    empty  
    set;
    
          take
    <* the 
    Element of V*>; 
    
          thus thesis;
    
        end;
    
      end;
    
    end
    
    theorem :: 
    
    NOMIN_2:4
    
    
    
    
    
    Th4: ( 
    dom  
    <*a, b, c*>)
    =  
    {1, 2, 3}
    
    proof
    
      
    
      thus (
    dom  
    <*a, b, c*>)
    = ( 
    Seg ( 
    len  
    <*a, b, c*>)) by
    FINSEQ_1:def 3
    
      .=
    {1, 2, 3} by
    FINSEQ_1: 45,
    FINSEQ_3: 1;
    
    end;
    
    registration
    
      let V, A;
    
      cluster ( 
    NDSS (V,A)) -> non 
    with_non-empty_elements;
    
      coherence by
    NOMIN_1: 6;
    
      cluster ( 
    ND (V,A)) -> non 
    with_non-empty_elements;
    
      coherence by
    NOMIN_1: 38;
    
    end
    
    theorem :: 
    
    NOMIN_2:5
    
    
    
    
    
    Th5: v 
    in V implies 
    {
    [v, d]} is
    NonatomicND of V, A 
    
    proof
    
      assume v
    in V; 
    
      
    
      then (
    naming (V,A,v,d)) 
    = (v 
    .--> d) by 
    NOMIN_1:def 13
    
      .=
    {
    [v, d]} by
    ZFMISC_1: 29;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    NOMIN_2:6
    
    
    
    
    
    Th6: for D be 
    finite  
    Function st ( 
    dom D) 
    c= V & ( 
    rng D) 
    c= ( 
    ND (V,A)) holds D is 
    NonatomicND of V, A 
    
    proof
    
      let D be
    finite  
    Function such that 
    
      
    
    A1: ( 
    dom D) 
    c= V and 
    
      
    
    A2: ( 
    rng D) 
    c= ( 
    ND (V,A)); 
    
      defpred
    
    P[
    set] means $1 is
    NonatomicND of V, A; 
    
      
    
      
    
    A3: D is 
    finite;
    
      
    
      
    
    A4: 
    P[
    {} ] by 
    NOMIN_1: 30;
    
      
    
      
    
    A5: for x,B be 
    set st x 
    in D & B 
    c= D & 
    P[B] holds
    P[(B
    \/  
    {x})]
    
      proof
    
        let x,B be
    set such that 
    
        
    
    A6: x 
    in D and 
    
        
    
    A7: B 
    c= D; 
    
        assume
    P[B];
    
        then
    
        reconsider B as
    NonatomicND of V, A; 
    
        consider a, b such that
    
        
    
    A8: x 
    =  
    [a, b] by
    A6,
    RELAT_1:def 1;
    
        
    
        
    
    A9: a 
    in ( 
    dom D) by 
    A6,
    A8,
    XTUPLE_0:def 12;
    
        b
    in ( 
    rng D) by 
    A6,
    A8,
    XTUPLE_0:def 13;
    
        then b is
    TypeSCNominativeData of V, A by 
    A2,
    NOMIN_1: 39;
    
        then
    
        
    
    A10: 
    {
    [a, b]} is
    NonatomicND of V, A by 
    A1,
    A9,
    Th5;
    
        
    {x}
    c= D by 
    A6,
    ZFMISC_1: 31;
    
        then (B
    \/  
    {
    [a, b]}) is
    Function by 
    A7,
    A8,
    GRFUNC_1: 14;
    
        hence thesis by
    A8,
    A10,
    NOMIN_1: 36,
    PARTFUN1: 51;
    
      end;
    
      
    P[D] from
    FINSET_1:sch 2(
    A3,
    A4,
    A5);
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    NOMIN_2:7
    
    for d1,d2 be
    TypeSCNominativeData of V, A holds d2 
    c= ( 
    global_overlapping (V,A,d1,d2)) 
    
    proof
    
      let d1,d2 be
    TypeSCNominativeData of V, A; 
    
      per cases ;
    
        suppose not d1
    in A & not d2 
    in A; 
    
        then ex f1,f2 be
    Function st f1 
    = d1 & f2 
    = d2 & ( 
    global_overlapping (V,A,d1,d2)) 
    = (f2 
    \/ (f1 
    | (( 
    dom f1) 
    \ ( 
    dom f2)))) by 
    NOMIN_1:def 16;
    
        hence thesis by
    XBOOLE_1: 7;
    
      end;
    
        suppose d1
    in A or d2 
    in A; 
    
        hence thesis by
    NOMIN_1:def 16;
    
      end;
    
    end;
    
    theorem :: 
    
    NOMIN_2:8
    
    for d be
    NonatomicND of V, A holds d is 
    TypeSCNominativeData of V, A; 
    
    theorem :: 
    
    NOMIN_2:9
    
    
    
    
    
    Th9: for d1,d2 be 
    NonatomicND of V, A holds ( 
    global_overlapping (V,A,d1,d2)) is 
    NonatomicND of V, A 
    
    proof
    
      let d1,d2 be
    NonatomicND of V, A; 
    
      per cases ;
    
        suppose not d1
    in A & not d2 
    in A; 
    
        then
    
        
    
    A1: ( 
    global_overlapping (V,A,d1,d2)) 
    = (d2 
    \/ (d1 
    | (( 
    dom d1) 
    \ ( 
    dom d2)))) by 
    NOMIN_1: 64;
    
        (d1
    | (( 
    dom d1) 
    \ ( 
    dom d2))) is 
    NonatomicND of V, A by 
    NOMIN_1: 32,
    RELAT_1: 59;
    
        hence thesis by
    A1,
    NOMIN_1: 36,
    PARTFUN1: 51;
    
      end;
    
        suppose d1
    in A or d2 
    in A; 
    
        hence thesis by
    NOMIN_1:def 16;
    
      end;
    
    end;
    
    registration
    
      let V, A;
    
      let d1,d2 be
    NonatomicND of V, A; 
    
      cluster ( 
    global_overlapping (V,A,d1,d2)) -> 
    Function-like
    Relation-like;
    
      coherence by
    Th9;
    
    end
    
    registration
    
      let V, A, v;
    
      let d1 be
    NonatomicND of V, A; 
    
      let d2 be
    object;
    
      cluster ( 
    local_overlapping (V,A,d1,d2,v)) -> 
    Function-like
    Relation-like;
    
      coherence ;
    
    end
    
    theorem :: 
    
    NOMIN_2:10
    
    
    
    
    
    Th10: v 
    in V implies for d1,d2 be 
    TypeSCNominativeData of V, A holds for L be 
    Function st L 
    = ( 
    local_overlapping (V,A,d1,d2,v)) holds (L 
    . v) 
    = d2 
    
    proof
    
      assume
    
      
    
    A1: v 
    in V; 
    
      let d1,d2 be
    TypeSCNominativeData of V, A; 
    
      let L be
    Function such that 
    
      
    
    A2: L 
    = ( 
    local_overlapping (V,A,d1,d2,v)); 
    
      
    
      
    
    A4: ( 
    naming (V,A,v,d2)) 
    = (v 
    .--> d2) by 
    A1,
    NOMIN_1:def 13;
    
      
    
      
    
    A6: v 
    in  
    {v} by
    TARSKI:def 1;
    
      
    
      
    
    A7: ((v 
    .--> d2) 
    . v) 
    = d2 by 
    FUNCOP_1: 72;
    
      per cases ;
    
        suppose not d1
    in A & not ( 
    naming (V,A,v,d2)) 
    in A; 
    
        then
    
        consider f1,f2 be
    Function such that f1 
    = d1 and 
    
        
    
    A8: f2 
    = ( 
    naming (V,A,v,d2)) and 
    
        
    
    A9: L 
    = (f2 
    \/ (f1 
    | (( 
    dom f1) 
    \ ( 
    dom f2)))) by 
    A2,
    NOMIN_1:def 16;
    
        
    
        thus (L
    . v) 
    = (f2 
    . v) by 
    A4,
    A6,
    A8,
    A9,
    GRFUNC_1: 15
    
        .= d2 by
    A8,
    A4,
    A6,
    FUNCOP_1: 7;
    
      end;
    
        suppose d1
    in A or ( 
    naming (V,A,v,d2)) 
    in A; 
    
        hence thesis by
    A4,
    A7,
    A2,
    NOMIN_1:def 16;
    
      end;
    
    end;
    
    theorem :: 
    
    NOMIN_2:11
    
    for d1 be
    NonatomicND of V, A, z be 
    Element of V holds V is non 
    empty & v 
    in ( 
    dom d1) & d 
    = (( 
    denaming (V,A,v)) 
    . d1) implies (( 
    local_overlapping (V,A,d1,d,z)) 
    . z) 
    = (d1 
    . v) 
    
    proof
    
      let d1 be
    NonatomicND of V, A, z be 
    Element of V; 
    
      assume
    
      
    
    A1: V is non 
    empty;
    
      set Dj = (
    denaming (V,A,v)); 
    
      assume that
    
      
    
    A2: v 
    in ( 
    dom d1) and 
    
      
    
    A3: d 
    = (Dj 
    . d1); 
    
      (
    dom Dj) 
    = { d where d be 
    NonatomicND of V, A : v 
    in ( 
    dom d) } by 
    NOMIN_1:def 18;
    
      then
    
      
    
    A4: d1 
    in ( 
    dom Dj) by 
    A2;
    
      
    
      thus ((
    local_overlapping (V,A,d1,d,z)) 
    . z) 
    = (Dj 
    . d1) by 
    A1,
    A3,
    Th10
    
      .= (
    denaming (v,d1)) by 
    A4,
    NOMIN_1:def 18
    
      .= (d1
    . v) by 
    A2,
    NOMIN_1:def 12;
    
    end;
    
    theorem :: 
    
    NOMIN_2:12
    
    v
    in V & v 
    <> v1 implies for d1 be 
    NonatomicND of V, A holds for d2 be 
    TypeSCNominativeData of V, A st v1 
    in ( 
    dom d1) & not d1 
    in A & not ( 
    naming (V,A,v,d2)) 
    in A holds (( 
    local_overlapping (V,A,d1,d2,v)) 
    . v1) 
    = (d1 
    . v1) 
    
    proof
    
      assume that
    
      
    
    A1: v 
    in V and 
    
      
    
    A2: v 
    <> v1; 
    
      let d1 be
    NonatomicND of V, A; 
    
      let d2 be
    TypeSCNominativeData of V, A such that 
    
      
    
    A4: v1 
    in ( 
    dom d1) and 
    
      
    
    A5: not d1 
    in A & not ( 
    naming (V,A,v,d2)) 
    in A; 
    
      
    
      
    
    A7: ( 
    naming (V,A,v,d2)) 
    = (v 
    .--> d2) by 
    A1,
    NOMIN_1:def 13;
    
      consider f1,f2 be
    Function such that 
    
      
    
    A10: f1 
    = d1 and 
    
      
    
    A11: f2 
    = ( 
    naming (V,A,v,d2)) and 
    
      
    
    A12: ( 
    local_overlapping (V,A,d1,d2,v)) 
    = (f2 
    \/ (f1 
    | (( 
    dom f1) 
    \ ( 
    dom f2)))) by 
    A5,
    NOMIN_1:def 16;
    
       not v1
    in  
    {v} by
    A2,
    TARSKI:def 1;
    
      then v1
    in (( 
    dom f1) 
    \ ( 
    dom f2)) by 
    A4,
    A7,
    A10,
    A11,
    XBOOLE_0:def 5;
    
      then
    
      
    
    A13: v1 
    in ( 
    dom (f1 
    | (( 
    dom f1) 
    \ ( 
    dom f2)))) by 
    RELAT_1: 57;
    
      
    
      hence ((
    local_overlapping (V,A,d1,d2,v)) 
    . v1) 
    = ((f1 
    | (( 
    dom f1) 
    \ ( 
    dom f2))) 
    . v1) by 
    A12,
    GRFUNC_1: 15
    
      .= (d1
    . v1) by 
    A10,
    A13,
    FUNCT_1: 47;
    
    end;
    
    theorem :: 
    
    NOMIN_2:13
    
    
    
    
    
    Th12: for d1 be 
    NonatomicND of V, A holds for d2 be 
    TypeSCNominativeData of V, A st v 
    in V & not v 
    in ( 
    dom d1) & not d1 
    in A & not ( 
    naming (V,A,v,d2)) 
    in A holds ( 
    dom ( 
    local_overlapping (V,A,d1,d2,v))) 
    = ( 
    {v}
    \/ ( 
    dom d1)) 
    
    proof
    
      let d1 be
    NonatomicND of V, A; 
    
      let d2 be
    TypeSCNominativeData of V, A such that 
    
      
    
    A1: v 
    in V and 
    
      
    
    A2: not v 
    in ( 
    dom d1) and 
    
      
    
    A3: not d1 
    in A & not ( 
    naming (V,A,v,d2)) 
    in A; 
    
      set n = (
    naming (V,A,v,d2)); 
    
      
    
      
    
    A4: n 
    = (v 
    .--> d2) by 
    A1,
    NOMIN_1:def 13;
    
      
    
      
    
    A5: ( 
    dom (d1 
    | (( 
    dom d1) 
    \ ( 
    dom n)))) 
    = ( 
    dom d1) 
    
      proof
    
        thus (
    dom (d1 
    | (( 
    dom d1) 
    \ ( 
    dom n)))) 
    c= ( 
    dom d1) by 
    RELAT_1: 60;
    
        (
    dom d1) 
    c= (( 
    dom d1) 
    \ ( 
    dom n)) by 
    A2,
    A4,
    ZFMISC_1: 34;
    
        hence thesis by
    RELAT_1: 62;
    
      end;
    
      (
    local_overlapping (V,A,d1,d2,v)) 
    = (n 
    \/ (d1 
    | (( 
    dom d1) 
    \ ( 
    dom n)))) by 
    A3,
    NOMIN_1: 64;
    
      hence thesis by
    A4,
    A5,
    XTUPLE_0: 23;
    
    end;
    
    theorem :: 
    
    NOMIN_2:14
    
    
    
    
    
    Th13: for d1 be 
    NonatomicND of V, A holds for d2 be 
    TypeSCNominativeData of V, A st v 
    in V & v 
    in ( 
    dom d1) & not d1 
    in A & not ( 
    naming (V,A,v,d2)) 
    in A holds ( 
    dom ( 
    local_overlapping (V,A,d1,d2,v))) 
    = ( 
    dom d1) 
    
    proof
    
      let d1 be
    NonatomicND of V, A; 
    
      let d2 be
    TypeSCNominativeData of V, A such that 
    
      
    
    A1: v 
    in V and 
    
      
    
    A2: v 
    in ( 
    dom d1) and 
    
      
    
    A3: not d1 
    in A & not ( 
    naming (V,A,v,d2)) 
    in A; 
    
      set n = (
    naming (V,A,v,d2)); 
    
      
    
      
    
    A4: n 
    = (v 
    .--> d2) by 
    A1,
    NOMIN_1:def 13;
    
      
    
      
    
    A5: (( 
    dom n) 
    \/ ( 
    dom (d1 
    | (( 
    dom d1) 
    \ ( 
    dom n))))) 
    = ( 
    dom d1) 
    
      proof
    
        
    
        
    
    A6: ( 
    dom n) 
    c= ( 
    dom d1) by 
    A2,
    A4,
    ZFMISC_1: 31;
    
        (
    dom (d1 
    | (( 
    dom d1) 
    \ ( 
    dom n)))) 
    c= ( 
    dom d1) by 
    RELAT_1: 60;
    
        hence ((
    dom n) 
    \/ ( 
    dom (d1 
    | (( 
    dom d1) 
    \ ( 
    dom n))))) 
    c= ( 
    dom d1) by 
    A6,
    XBOOLE_1: 8;
    
        let x be
    object;
    
        assume
    
        
    
    A7: x 
    in ( 
    dom d1); 
    
        per cases ;
    
          suppose x
    = v; 
    
          then x
    in ( 
    dom n) by 
    A4,
    TARSKI:def 1;
    
          hence thesis by
    XBOOLE_0:def 3;
    
        end;
    
          suppose x
    <> v; 
    
          then not x
    in ( 
    dom n) by 
    A4,
    TARSKI:def 1;
    
          then x
    in (( 
    dom d1) 
    \ ( 
    dom n)) by 
    A7,
    XBOOLE_0:def 5;
    
          then x
    in ( 
    dom (d1 
    | (( 
    dom d1) 
    \ ( 
    dom n)))) by 
    RELAT_1: 57;
    
          hence thesis by
    XBOOLE_0:def 3;
    
        end;
    
      end;
    
      (
    local_overlapping (V,A,d1,d2,v)) 
    = (n 
    \/ (d1 
    | (( 
    dom d1) 
    \ ( 
    dom n)))) by 
    A3,
    NOMIN_1: 64;
    
      hence thesis by
    A5,
    XTUPLE_0: 23;
    
    end;
    
    theorem :: 
    
    NOMIN_2:15
    
    
    
    
    
    Th14: for d1 be 
    NonatomicND of V, A holds for d2 be 
    TypeSCNominativeData of V, A st v 
    in V & not d1 
    in A & not ( 
    naming (V,A,v,d2)) 
    in A holds ( 
    dom ( 
    local_overlapping (V,A,d1,d2,v))) 
    = ( 
    {v}
    \/ ( 
    dom d1)) 
    
    proof
    
      let d1 be
    NonatomicND of V, A; 
    
      let d2 be
    TypeSCNominativeData of V, A such that 
    
      
    
    A1: v 
    in V & not d1 
    in A & not ( 
    naming (V,A,v,d2)) 
    in A; 
    
      per cases ;
    
        suppose
    
        
    
    A2: v 
    in ( 
    dom d1); 
    
        then (
    dom ( 
    local_overlapping (V,A,d1,d2,v))) 
    = ( 
    dom d1) by 
    A1,
    Th13;
    
        hence thesis by
    A2,
    ZFMISC_1: 40;
    
      end;
    
        suppose not v
    in ( 
    dom d1); 
    
        hence thesis by
    A1,
    Th12;
    
      end;
    
    end;
    
    definition
    
      let V, A;
    
      mode
    
    SCPartialNominativePredicate of V,A is 
    PartialPredicate of ( 
    ND (V,A)); 
    
    end
    
    reserve p,q,r for
    SCPartialNominativePredicate of V, A; 
    
    theorem :: 
    
    NOMIN_2:16
    
    
    
    
    
    Th15: ( 
    dom ( 
    PP_or (p,q))) 
    = { d where d be 
    TypeSCNominativeData of V, A : d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE } 
    
    proof
    
      set X = { d where d be
    TypeSCNominativeData of V, A : d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE }; 
    
      set Y = { d where d be
    Element of ( 
    ND (V,A)) : d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE }; 
    
      X
    = Y 
    
      proof
    
        thus X
    c= Y 
    
        proof
    
          let x;
    
          assume x
    in X; 
    
          then ex d be
    TypeSCNominativeData of V, A st d 
    = x & (d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE ); 
    
          hence thesis;
    
        end;
    
        let x;
    
        assume x
    in Y; 
    
        then
    
        consider d be
    Element of ( 
    ND (V,A)) such that 
    
        
    
    A1: d 
    = x & (d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE ); 
    
        d is
    TypeSCNominativeData of V, A by 
    NOMIN_1: 39;
    
        hence thesis by
    A1;
    
      end;
    
      hence thesis by
    PARTPR_1:def 4;
    
    end;
    
    theorem :: 
    
    NOMIN_2:17
    
    (
    dom ( 
    PP_and (p,q))) 
    = { d where d be 
    TypeSCNominativeData of V, A : d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE } 
    
    proof
    
      set F = (
    PP_and (p,q)); 
    
      set P = (
    PP_not p); 
    
      set Q = (
    PP_not q); 
    
      set D = { d where d be
    TypeSCNominativeData of V, A : d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE }; 
    
      
    
      
    
    A1: ( 
    dom F) 
    = ( 
    dom ( 
    PP_or (P,Q))) by 
    PARTPR_1:def 2;
    
      
    
      
    
    A2: ( 
    dom ( 
    PP_or (P,Q))) 
    = { d where d be 
    TypeSCNominativeData of V, A : d 
    in ( 
    dom P) & (P 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom Q) & (Q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom P) & (P 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom Q) & (Q 
    . d) 
    =  
    FALSE } by 
    Th15;
    
      
    
      
    
    A3: ( 
    dom P) 
    = ( 
    dom p) by 
    PARTPR_1:def 2;
    
      
    
      
    
    A4: ( 
    dom Q) 
    = ( 
    dom q) by 
    PARTPR_1:def 2;
    
      thus (
    dom F) 
    c= D 
    
      proof
    
        let x;
    
        assume x
    in ( 
    dom F); 
    
        then
    
        consider d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A5: x 
    = d and 
    
        
    
    A6: d 
    in ( 
    dom P) & (P 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom Q) & (Q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom P) & (P 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom Q) & (Q 
    . d) 
    =  
    FALSE by 
    A1,
    A2;
    
        per cases by
    A6;
    
          suppose that
    
          
    
    A7: d 
    in ( 
    dom P) and 
    
          
    
    A8: (P 
    . d) 
    =  
    TRUE ; 
    
          (p
    . d) 
    =  
    FALSE by 
    A3,
    A7,
    A8,
    PARTPR_1: 5;
    
          hence thesis by
    A3,
    A5,
    A7;
    
        end;
    
          suppose that
    
          
    
    A9: d 
    in ( 
    dom Q) and 
    
          
    
    A10: (Q 
    . d) 
    =  
    TRUE ; 
    
          (q
    . d) 
    =  
    FALSE by 
    A4,
    A9,
    A10,
    PARTPR_1: 5;
    
          hence thesis by
    A4,
    A5,
    A9;
    
        end;
    
          suppose that
    
          
    
    A11: d 
    in ( 
    dom P) & d 
    in ( 
    dom Q) and 
    
          
    
    A12: (P 
    . d) 
    =  
    FALSE & (Q 
    . d) 
    =  
    FALSE ; 
    
          (p
    . d) 
    =  
    TRUE & (q 
    . d) 
    =  
    TRUE by 
    A3,
    A4,
    A11,
    A12,
    PARTPR_1: 4;
    
          hence thesis by
    A3,
    A4,
    A5,
    A11;
    
        end;
    
      end;
    
      let x;
    
      assume x
    in D; 
    
      then
    
      consider d be
    TypeSCNominativeData of V, A such that 
    
      
    
    A13: x 
    = d and 
    
      
    
    A14: d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE ; 
    
      per cases by
    A14;
    
        suppose that
    
        
    
    A15: d 
    in ( 
    dom p) and 
    
        
    
    A16: (p 
    . d) 
    =  
    FALSE ; 
    
        (P
    . d) 
    =  
    TRUE by 
    A15,
    A16,
    PARTPR_1:def 2;
    
        hence thesis by
    A1,
    A2,
    A3,
    A13,
    A15;
    
      end;
    
        suppose that
    
        
    
    A17: d 
    in ( 
    dom q) and 
    
        
    
    A18: (q 
    . d) 
    =  
    FALSE ; 
    
        (Q
    . d) 
    =  
    TRUE by 
    A17,
    A18,
    PARTPR_1:def 2;
    
        hence thesis by
    A1,
    A2,
    A4,
    A13,
    A17;
    
      end;
    
        suppose that
    
        
    
    A19: d 
    in ( 
    dom p) & d 
    in ( 
    dom q) and 
    
        
    
    A20: (p 
    . d) 
    =  
    TRUE & (q 
    . d) 
    =  
    TRUE ; 
    
        (P
    . d) 
    =  
    FALSE & (Q 
    . d) 
    =  
    FALSE by 
    A19,
    A20,
    PARTPR_1:def 2;
    
        hence thesis by
    A1,
    A2,
    A3,
    A4,
    A13,
    A19;
    
      end;
    
    end;
    
    theorem :: 
    
    NOMIN_2:18
    
    (
    dom ( 
    PP_imp (p,q))) 
    = { d where d be 
    TypeSCNominativeData of V, A : d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE } 
    
    proof
    
      set F = (
    PP_imp (p,q)); 
    
      set P = (
    PP_not p); 
    
      set D = { d where d be
    TypeSCNominativeData of V, A : d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE }; 
    
      
    
      
    
    A1: ( 
    dom F) 
    = { d where d be 
    Element of ( 
    ND (V,A)) : d 
    in ( 
    dom P) & (P 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom P) & (P 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE } by 
    PARTPR_1:def 4;
    
      
    
      
    
    A2: ( 
    dom P) 
    = ( 
    dom p) by 
    PARTPR_1:def 2;
    
      thus (
    dom F) 
    c= D 
    
      proof
    
        let x;
    
        assume x
    in ( 
    dom F); 
    
        then
    
        consider d be
    Element of ( 
    ND (V,A)) such that 
    
        
    
    A3: x 
    = d and 
    
        
    
    A4: d 
    in ( 
    dom P) & (P 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom P) & (P 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE by 
    A1;
    
        reconsider d as
    TypeSCNominativeData of V, A by 
    NOMIN_1: 39;
    
        per cases by
    A4;
    
          suppose that
    
          
    
    A5: d 
    in ( 
    dom P) and 
    
          
    
    A6: (P 
    . d) 
    =  
    TRUE ; 
    
          (p
    . d) 
    =  
    FALSE by 
    A2,
    A5,
    A6,
    PARTPR_1: 5;
    
          hence thesis by
    A2,
    A3,
    A5;
    
        end;
    
          suppose d
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE ; 
    
          hence thesis by
    A3;
    
        end;
    
          suppose that
    
          
    
    A7: d 
    in ( 
    dom P) & d 
    in ( 
    dom q) and 
    
          
    
    A8: (P 
    . d) 
    =  
    FALSE and 
    
          
    
    A9: (q 
    . d) 
    =  
    FALSE ; 
    
          (p
    . d) 
    =  
    TRUE by 
    A2,
    A7,
    A8,
    PARTPR_1: 4;
    
          hence thesis by
    A2,
    A3,
    A7,
    A9;
    
        end;
    
      end;
    
      let x;
    
      assume x
    in D; 
    
      then
    
      consider d be
    TypeSCNominativeData of V, A such that 
    
      
    
    A10: x 
    = d and 
    
      
    
    A11: d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE ; 
    
      per cases by
    A11;
    
        suppose that
    
        
    
    A12: d 
    in ( 
    dom p) and 
    
        
    
    A13: (p 
    . d) 
    =  
    FALSE ; 
    
        (P
    . d) 
    =  
    TRUE by 
    A12,
    A13,
    PARTPR_1:def 2;
    
        hence thesis by
    A1,
    A2,
    A10,
    A12;
    
      end;
    
        suppose d
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE ; 
    
        hence thesis by
    A1,
    A10;
    
      end;
    
        suppose that
    
        
    
    A14: d 
    in ( 
    dom p) and 
    
        
    
    A15: d 
    in ( 
    dom q) and 
    
        
    
    A16: (p 
    . d) 
    =  
    TRUE and 
    
        
    
    A17: (q 
    . d) 
    =  
    FALSE ; 
    
        (P
    . d) 
    =  
    FALSE by 
    A14,
    A16,
    PARTPR_1:def 2;
    
        hence thesis by
    A1,
    A2,
    A10,
    A14,
    A15,
    A17;
    
      end;
    
    end;
    
    definition
    
      let V, A, v;
    
      defpred
    
    D1[
    object, 
    Function] means ex d1 be
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,$1,d1,v)) 
    in ( 
    dom $2) & ($2 
    . ( 
    local_overlapping (V,A,$1,d1,v))) 
    =  
    TRUE ; 
    
      defpred
    
    D2[
    object, 
    Function] means for d1 be
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,$1,d1,v)) 
    in ( 
    dom $2) & ($2 
    . ( 
    local_overlapping (V,A,$1,d1,v))) 
    =  
    FALSE ; 
    
      deffunc
    
    D(
    Function) = { d where d be
    TypeSCNominativeData of V, A : 
    D1[d, $1] or
    D2[d, $1] };
    
      :: 
    
    NOMIN_2:def1
    
      func
    
    SCexists (V,A,v) -> 
    Function of ( 
    Pr ( 
    ND (V,A))), ( 
    Pr ( 
    ND (V,A))) means 
    
      :
    
    Def1: for p be 
    SCPartialNominativePredicate of V, A holds ( 
    dom (it 
    . p)) 
    = { d where d be 
    TypeSCNominativeData of V, A : (ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    TRUE ) or (for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    FALSE ) } & for d be 
    TypeSCNominativeData of V, A holds ((ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    TRUE ) implies ((it 
    . p) 
    . d) 
    =  
    TRUE ) & ((for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    FALSE ) implies ((it 
    . p) 
    . d) 
    =  
    FALSE ); 
    
      existence
    
      proof
    
        defpred
    
    P[
    object, 
    object] means for p be
    SCPartialNominativePredicate of V, A st p 
    = $1 holds for f be 
    Function st f 
    = $2 holds ( 
    dom f) 
    =  
    D(p) & for d be
    TypeSCNominativeData of V, A holds ( 
    D1[d, p] implies (f
    . d) 
    =  
    TRUE ) & ( 
    D2[d, p] implies (f
    . d) 
    =  
    FALSE ); 
    
        
    
        
    
    A1: for x be 
    object st x 
    in ( 
    Pr ( 
    ND (V,A))) holds ex y be 
    object st y 
    in ( 
    Pr ( 
    ND (V,A))) & 
    P[x, y]
    
        proof
    
          let x;
    
          assume x
    in ( 
    Pr ( 
    ND (V,A))); 
    
          then
    
          reconsider X = x as
    PartFunc of ( 
    ND (V,A)), 
    BOOLEAN by 
    PARTFUN1: 46;
    
          defpred
    
    Q[
    object, 
    object] means for d be
    TypeSCNominativeData of V, A st d 
    = $1 holds ( 
    D1[d, X] implies $2
    =  
    TRUE ) & ( 
    D2[d, X] implies $2
    =  
    FALSE ); 
    
          
    
          
    
    A2: for a be 
    object st a 
    in  
    D(X) holds ex b be
    object st b 
    in  
    BOOLEAN & 
    Q[a, b]
    
          proof
    
            let a be
    object;
    
            assume a
    in  
    D(X);
    
            then
    
            consider d be
    TypeSCNominativeData of V, A such that 
    
            
    
    A3: a 
    = d and 
    
            
    
    A4: 
    D1[d, X] or
    D2[d, X];
    
            per cases by
    A4;
    
              suppose
    
              
    
    A5: 
    D1[d, X];
    
              take
    TRUE ; 
    
              thus thesis by
    A3,
    A5;
    
            end;
    
              suppose
    
              
    
    A6: 
    D2[d, X];
    
              take
    FALSE ; 
    
              thus thesis by
    A3,
    A6;
    
            end;
    
          end;
    
          consider g be
    Function such that 
    
          
    
    A7: ( 
    dom g) 
    =  
    D(X) and
    
          
    
    A8: ( 
    rng g) 
    c=  
    BOOLEAN and 
    
          
    
    A9: for x be 
    object st x 
    in  
    D(X) holds
    Q[x, (g
    . x)] from 
    FUNCT_1:sch 6(
    A2);
    
          take g;
    
          
    D(X)
    c= ( 
    ND (V,A)) 
    
          proof
    
            let x;
    
            assume x
    in  
    D(X);
    
            then ex d be
    TypeSCNominativeData of V, A st d 
    = x & ( 
    D1[d, X] or
    D2[d, X]);
    
            hence thesis;
    
          end;
    
          then g is
    PartFunc of ( 
    ND (V,A)), 
    BOOLEAN by 
    A7,
    A8,
    RELSET_1: 4;
    
          hence g
    in ( 
    Pr ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
          let p be
    SCPartialNominativePredicate of V, A such that 
    
          
    
    A10: p 
    = x; 
    
          let f be
    Function such that 
    
          
    
    A11: f 
    = g; 
    
          thus (
    dom f) 
    =  
    D(p) by
    A7,
    A10,
    A11;
    
          let d be
    TypeSCNominativeData of V, A; 
    
          hereby
    
            assume
    
            
    
    A12: 
    D1[d, p];
    
            then d
    in  
    D(X) by
    A10;
    
            hence (f
    . d) 
    =  
    TRUE by 
    A9,
    A10,
    A11,
    A12;
    
          end;
    
          assume
    
          
    
    A13: 
    D2[d, p];
    
          then d
    in  
    D(X) by
    A10;
    
          hence thesis by
    A9,
    A10,
    A11,
    A13;
    
        end;
    
        consider F be
    Function of ( 
    Pr ( 
    ND (V,A))), ( 
    Pr ( 
    ND (V,A))) such that 
    
        
    
    A14: for x be 
    object st x 
    in ( 
    Pr ( 
    ND (V,A))) holds 
    P[x, (F
    . x)] from 
    FUNCT_2:sch 1(
    A1);
    
        take F;
    
        let p be
    SCPartialNominativePredicate of V, A; 
    
        p
    in ( 
    Pr ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
        hence thesis by
    A14;
    
      end;
    
      uniqueness
    
      proof
    
        let f,g be
    Function of ( 
    Pr ( 
    ND (V,A))), ( 
    Pr ( 
    ND (V,A))) such that 
    
        
    
    A15: for p be 
    SCPartialNominativePredicate of V, A holds ( 
    dom (f 
    . p)) 
    =  
    D(p) & for d be
    TypeSCNominativeData of V, A holds ( 
    D1[d, p] implies ((f
    . p) 
    . d) 
    =  
    TRUE ) & ( 
    D2[d, p] implies ((f
    . p) 
    . d) 
    =  
    FALSE ) and 
    
        
    
    A16: for p be 
    SCPartialNominativePredicate of V, A holds ( 
    dom (g 
    . p)) 
    =  
    D(p) & for d be
    TypeSCNominativeData of V, A holds ( 
    D1[d, p] implies ((g
    . p) 
    . d) 
    =  
    TRUE ) & ( 
    D2[d, p] implies ((g
    . p) 
    . d) 
    =  
    FALSE ); 
    
        let x be
    Element of ( 
    Pr ( 
    ND (V,A))); 
    
        reconsider p = x as
    SCPartialNominativePredicate of V, A by 
    PARTFUN1: 46;
    
        
    
        
    
    A17: ( 
    dom (f 
    . x)) 
    =  
    D(p) by
    A15;
    
        hence (
    dom (f 
    . x)) 
    = ( 
    dom (g 
    . x)) by 
    A16;
    
        let a be
    object;
    
        assume a
    in ( 
    dom (f 
    . x)); 
    
        then
    
        consider d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A18: a 
    = d and 
    
        
    
    A19: 
    D1[d, p] or
    D2[d, p] by
    A17;
    
        per cases by
    A19;
    
          suppose
    
          
    
    A20: 
    D1[d, p];
    
          
    
          thus ((f
    . x) 
    . a) 
    =  
    TRUE by 
    A15,
    A18,
    A20
    
          .= ((g
    . x) 
    . a) by 
    A16,
    A18,
    A20;
    
        end;
    
          suppose
    
          
    
    A21: 
    D2[d, p];
    
          
    
          thus ((f
    . x) 
    . a) 
    =  
    FALSE by 
    A15,
    A18,
    A21
    
          .= ((g
    . x) 
    . a) by 
    A16,
    A18,
    A21;
    
        end;
    
      end;
    
    end
    
    definition
    
      let V, A, v, p;
    
      :: 
    
    NOMIN_2:def2
    
      func
    
    SC_exists (p,v) -> 
    SCPartialNominativePredicate of V, A equals (( 
    SCexists (V,A,v)) 
    . p); 
    
      coherence
    
      proof
    
        p
    in ( 
    Pr ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
        hence thesis by
    PARTFUN1: 46,
    FUNCT_2: 5;
    
      end;
    
    end
    
    theorem :: 
    
    NOMIN_2:19
    
    
    
    
    
    Th18: x 
    in ( 
    dom ( 
    SC_exists (p,v))) implies (ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ) or (for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE ) 
    
    proof
    
      assume
    
      
    
    A1: x 
    in ( 
    dom ( 
    SC_exists (p,v))); 
    
      (
    dom ( 
    SC_exists (p,v))) 
    = { d where d be 
    TypeSCNominativeData of V, A : (ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    TRUE ) or (for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    FALSE ) } by 
    Def1;
    
      then ex d2 be
    TypeSCNominativeData of V, A st x 
    = d2 & ((ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,d2,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d2,d1,v))) 
    =  
    TRUE ) or (for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,d2,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d2,d1,v))) 
    =  
    FALSE )) by 
    A1;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    NOMIN_2:20
    
    (
    SC_exists (( 
    PP_BottomPred ( 
    ND (V,A))),v)) 
    = ( 
    PP_BottomPred ( 
    ND (V,A))) 
    
    proof
    
      set B = (
    PP_BottomPred ( 
    ND (V,A))); 
    
      set T = (
    PP_True ( 
    ND (V,A))); 
    
      set o = (
    SC_exists (B,v)); 
    
      thus (
    dom o) 
    = ( 
    dom B) 
    
      proof
    
        thus (
    dom o) 
    c= ( 
    dom B) 
    
        proof
    
          let x;
    
          assume x
    in ( 
    dom o); 
    
          then (ex d1 be
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom B) & (B 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ) or (for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom B) & (B 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE ) by 
    Th18;
    
          hence thesis;
    
        end;
    
        thus (
    dom B) 
    c= ( 
    dom o); 
    
      end;
    
      let x;
    
      assume x
    in ( 
    dom o); 
    
      then (ex d1 be
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom B) & (B 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ) or (for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom B) & (B 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE ) by 
    Th18;
    
      hence thesis;
    
    end;
    
    ::$Notion-Name
    
    theorem :: 
    
    NOMIN_2:21
    
    (
    SC_exists (( 
    PP_or (p,q)),v)) 
    = ( 
    PP_or (( 
    SC_exists (p,v)),( 
    SC_exists (q,v)))) 
    
    proof
    
      set a = (
    PP_or (p,q)); 
    
      set f = (
    SC_exists (a,v)); 
    
      set g = (
    SC_exists (p,v)); 
    
      set h = (
    SC_exists (q,v)); 
    
      set b = (
    PP_or (g,h)); 
    
      
    
      
    
    A1: ( 
    dom a) 
    = { d where d be 
    TypeSCNominativeData of V, A : d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom p) & (p 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom q) & (q 
    . d) 
    =  
    FALSE } by 
    Th15;
    
      
    
      
    
    A2: ( 
    dom b) 
    = { d where d be 
    TypeSCNominativeData of V, A : d 
    in ( 
    dom g) & (g 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom h) & (h 
    . d) 
    =  
    TRUE or d 
    in ( 
    dom g) & (g 
    . d) 
    =  
    FALSE & d 
    in ( 
    dom h) & (h 
    . d) 
    =  
    FALSE } by 
    Th15;
    
      
    
      
    
    A3: ( 
    dom f) 
    = { d where d be 
    TypeSCNominativeData of V, A : (ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom a) & (a 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    TRUE ) or (for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom a) & (a 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    FALSE ) } by 
    Def1;
    
      
    
      
    
    A4: ( 
    dom g) 
    = { d where d be 
    TypeSCNominativeData of V, A : (ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    TRUE ) or (for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    FALSE ) } by 
    Def1;
    
      
    
      
    
    A5: ( 
    dom h) 
    = { d where d be 
    TypeSCNominativeData of V, A : (ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom q) & (q 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    TRUE ) or (for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,d,d1,v)) 
    in ( 
    dom q) & (q 
    . ( 
    local_overlapping (V,A,d,d1,v))) 
    =  
    FALSE ) } by 
    Def1;
    
      thus (
    dom f) 
    = ( 
    dom b) 
    
      proof
    
        thus (
    dom f) 
    c= ( 
    dom b) 
    
        proof
    
          let x;
    
          assume
    
          
    
    A6: x 
    in ( 
    dom f); 
    
          then
    
          
    
    A7: x is 
    TypeSCNominativeData of V, A by 
    NOMIN_1: 39;
    
          per cases by
    A6,
    Th18;
    
            suppose ex d1 be
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom a) & (a 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ; 
    
            then
    
            consider d1 be
    TypeSCNominativeData of V, A such that 
    
            
    
    A8: ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom a) and 
    
            
    
    A9: (a 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ; 
    
            set L = (
    local_overlapping (V,A,x,d1,v)); 
    
            per cases by
    A8,
    PARTPR_1: 8;
    
              suppose
    
              
    
    A10: L 
    in ( 
    dom p) & (p 
    . L) 
    =  
    TRUE ; 
    
              then
    
              
    
    A11: x 
    in ( 
    dom g) by 
    A7,
    A4;
    
              (g
    . x) 
    =  
    TRUE by 
    A7,
    A10,
    Def1;
    
              hence thesis by
    A2,
    A7,
    A11;
    
            end;
    
              suppose
    
              
    
    A12: L 
    in ( 
    dom q) & (q 
    . L) 
    =  
    TRUE ; 
    
              then
    
              
    
    A13: x 
    in ( 
    dom h) by 
    A7,
    A5;
    
              (h
    . x) 
    =  
    TRUE by 
    A7,
    A12,
    Def1;
    
              hence thesis by
    A2,
    A7,
    A13;
    
            end;
    
              suppose L
    in ( 
    dom p) & (p 
    . L) 
    =  
    FALSE & L 
    in ( 
    dom q) & (q 
    . L) 
    =  
    FALSE ; 
    
              hence thesis by
    A9,
    PARTPR_1: 9;
    
            end;
    
          end;
    
            suppose
    
            
    
    A14: for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom a) & (a 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE ; 
    
            
    
            
    
    A15: for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE  
    
            proof
    
              let d1 be
    TypeSCNominativeData of V, A; 
    
              set O = (
    local_overlapping (V,A,x,d1,v)); 
    
              O
    in ( 
    dom a) & (a 
    . O) 
    =  
    FALSE by 
    A14;
    
              hence thesis by
    PARTPR_1: 13;
    
            end;
    
            then
    
            
    
    A16: x 
    in ( 
    dom g) by 
    A7,
    A4;
    
            
    
            
    
    A17: (g 
    . x) 
    =  
    FALSE by 
    A7,
    A15,
    Def1;
    
            
    
            
    
    A18: for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom q) & (q 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE  
    
            proof
    
              let d1 be
    TypeSCNominativeData of V, A; 
    
              set O = (
    local_overlapping (V,A,x,d1,v)); 
    
              O
    in ( 
    dom a) & (a 
    . O) 
    =  
    FALSE by 
    A14;
    
              hence thesis by
    PARTPR_1: 13;
    
            end;
    
            then
    
            
    
    A19: x 
    in ( 
    dom h) by 
    A7,
    A5;
    
            (h
    . x) 
    =  
    FALSE by 
    A7,
    A18,
    Def1;
    
            hence thesis by
    A2,
    A7,
    A16,
    A17,
    A19;
    
          end;
    
        end;
    
        let x;
    
        assume
    
        
    
    A20: x 
    in ( 
    dom b); 
    
        then
    
        
    
    A21: x is 
    TypeSCNominativeData of V, A by 
    NOMIN_1: 39;
    
        per cases by
    A20,
    PARTPR_1: 8;
    
          suppose that
    
          
    
    A22: x 
    in ( 
    dom g) and 
    
          
    
    A23: (g 
    . x) 
    =  
    TRUE ; 
    
          per cases by
    A22,
    Th18;
    
            suppose ex d1 be
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ; 
    
            then
    
            consider d1 be
    TypeSCNominativeData of V, A such that 
    
            
    
    A24: ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom p) and 
    
            
    
    A25: (p 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ; 
    
            set L = (
    local_overlapping (V,A,x,d1,v)); 
    
            L
    in ( 
    dom a) & (a 
    . L) 
    =  
    TRUE by 
    A1,
    A24,
    A25,
    PARTPR_1:def 4;
    
            hence thesis by
    A3,
    A21;
    
          end;
    
            suppose for d1 be
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE ; 
    
            hence thesis by
    A21,
    A23,
    Def1;
    
          end;
    
        end;
    
          suppose that
    
          
    
    A26: x 
    in ( 
    dom h) and 
    
          
    
    A27: (h 
    . x) 
    =  
    TRUE ; 
    
          per cases by
    A26,
    Th18;
    
            suppose ex d1 be
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom q) & (q 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ; 
    
            then
    
            consider d1 be
    TypeSCNominativeData of V, A such that 
    
            
    
    A28: ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom q) and 
    
            
    
    A29: (q 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ; 
    
            set L = (
    local_overlapping (V,A,x,d1,v)); 
    
            L
    in ( 
    dom a) & (a 
    . L) 
    =  
    TRUE by 
    A1,
    A28,
    A29,
    PARTPR_1:def 4;
    
            hence thesis by
    A3,
    A21;
    
          end;
    
            suppose for d1 be
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom q) & (q 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE ; 
    
            hence thesis by
    A21,
    A27,
    Def1;
    
          end;
    
        end;
    
          suppose that
    
          
    
    A30: x 
    in ( 
    dom g) and 
    
          
    
    A31: (g 
    . x) 
    =  
    FALSE and 
    
          
    
    A32: x 
    in ( 
    dom h) and 
    
          
    
    A33: (h 
    . x) 
    =  
    FALSE ; 
    
          for d1 be
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom a) & (a 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE  
    
          proof
    
            let d1 be
    TypeSCNominativeData of V, A; 
    
            
    
            
    
    A34: not ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE by 
    A21,
    A31,
    Def1;
    
            
    
            
    
    A35: not ex d1 be 
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom q) & (q 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE by 
    A21,
    A33,
    Def1;
    
            set L = (
    local_overlapping (V,A,x,d1,v)); 
    
            L
    in ( 
    dom p) & (p 
    . L) 
    =  
    FALSE & L 
    in ( 
    dom q) & (q 
    . L) 
    =  
    FALSE by 
    A34,
    A35,
    A30,
    A32,
    Th18;
    
            hence L
    in ( 
    dom a) & (a 
    . L) 
    =  
    FALSE by 
    A1,
    PARTPR_1:def 4;
    
          end;
    
          hence thesis by
    A3,
    A21;
    
        end;
    
      end;
    
      let x;
    
      assume
    
      
    
    A36: x 
    in ( 
    dom f); 
    
      then
    
      
    
    A37: x is 
    TypeSCNominativeData of V, A by 
    NOMIN_1: 39;
    
      per cases by
    A36,
    Th18;
    
        suppose ex d1 be
    TypeSCNominativeData of V, A st ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom a) & (a 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ; 
    
        then
    
        consider d1 be
    TypeSCNominativeData of V, A such that 
    
        
    
    A38: ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom a) and 
    
        
    
    A39: (a 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    TRUE ; 
    
        set L = (
    local_overlapping (V,A,x,d1,v)); 
    
        per cases by
    A38,
    PARTPR_1: 8;
    
          suppose
    
          
    
    A40: L 
    in ( 
    dom p) & (p 
    . L) 
    =  
    TRUE ; 
    
          then
    
          
    
    A41: x 
    in ( 
    dom g) by 
    A37,
    A4;
    
          (g
    . x) 
    =  
    TRUE by 
    A37,
    A40,
    Def1;
    
          
    
          hence (b
    . x) 
    =  
    TRUE by 
    A41,
    PARTPR_1:def 4
    
          .= (f
    . x) by 
    A38,
    A39,
    A37,
    Def1;
    
        end;
    
          suppose
    
          
    
    A42: L 
    in ( 
    dom q) & (q 
    . L) 
    =  
    TRUE ; 
    
          then
    
          
    
    A43: x 
    in ( 
    dom h) by 
    A37,
    A5;
    
          (h
    . x) 
    =  
    TRUE by 
    A37,
    A42,
    Def1;
    
          
    
          hence (b
    . x) 
    =  
    TRUE by 
    A43,
    PARTPR_1:def 4
    
          .= (f
    . x) by 
    A38,
    A39,
    A37,
    Def1;
    
        end;
    
          suppose L
    in ( 
    dom p) & (p 
    . L) 
    =  
    FALSE & L 
    in ( 
    dom q) & (q 
    . L) 
    =  
    FALSE ; 
    
          hence thesis by
    A39,
    PARTPR_1: 9;
    
        end;
    
      end;
    
        suppose
    
        
    
    A44: for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom a) & (a 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE ; 
    
        
    
        
    
    A45: for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom p) & (p 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE  
    
        proof
    
          let d1 be
    TypeSCNominativeData of V, A; 
    
          set O = (
    local_overlapping (V,A,x,d1,v)); 
    
          O
    in ( 
    dom a) & (a 
    . O) 
    =  
    FALSE by 
    A44;
    
          hence thesis by
    PARTPR_1: 13;
    
        end;
    
        then
    
        
    
    A46: x 
    in ( 
    dom g) by 
    A37,
    A4;
    
        
    
        
    
    A47: (g 
    . x) 
    =  
    FALSE by 
    A37,
    A45,
    Def1;
    
        
    
        
    
    A48: for d1 be 
    TypeSCNominativeData of V, A holds ( 
    local_overlapping (V,A,x,d1,v)) 
    in ( 
    dom q) & (q 
    . ( 
    local_overlapping (V,A,x,d1,v))) 
    =  
    FALSE  
    
        proof
    
          let d1 be
    TypeSCNominativeData of V, A; 
    
          set O = (
    local_overlapping (V,A,x,d1,v)); 
    
          O
    in ( 
    dom a) & (a 
    . O) 
    =  
    FALSE by 
    A44;
    
          hence thesis by
    PARTPR_1: 13;
    
        end;
    
        then
    
        
    
    A49: x 
    in ( 
    dom h) by 
    A37,
    A5;
    
        (h
    . x) 
    =  
    FALSE by 
    A37,
    A48,
    Def1;
    
        
    
        hence (b
    . x) 
    =  
    FALSE by 
    A46,
    A47,
    A49,
    PARTPR_1:def 4
    
        .= (f
    . x) by 
    A44,
    A37,
    Def1;
    
      end;
    
    end;
    
    begin
    
    reserve n for
    Nat;
    
    reserve X for
    Function;
    
    definition
    
      let F be
    Function-yielding  
    Function;
    
      let d be
    object;
    
      :: 
    
    NOMIN_2:def3
    
      pred d
    
    in_doms F means 
    
      :
    
    Def3: for x be 
    object st x 
    in ( 
    dom F) holds d 
    in ( 
    dom (F 
    . x)); 
    
    end
    
    definition
    
      let g be
    Function-yielding  
    Function;
    
      let X be
    Function;
    
      let d be
    object;
    
      :: 
    
    NOMIN_2:def4
    
      func
    
    NDdataSeq (g,X,d) -> 
    Function means 
    
      :
    
    Def4: ( 
    dom it ) 
    = ( 
    dom X) & for x st x 
    in ( 
    dom X) holds (it 
    . x) 
    =  
    [(X
    . x), ((g 
    . x) 
    . d)]; 
    
      existence
    
      proof
    
        deffunc
    
    F(
    object) =
    [(X
    . $1), ((g 
    . $1) 
    . d)]; 
    
        consider p be
    Function such that 
    
        
    
    A1: ( 
    dom p) 
    = ( 
    dom X) & for x st x 
    in ( 
    dom X) holds (p 
    . x) 
    =  
    F(x) from
    FUNCT_1:sch 3;
    
        take p;
    
        thus thesis by
    A1;
    
      end;
    
      uniqueness
    
      proof
    
        let F,G be
    Function such that 
    
        
    
    A2: ( 
    dom F) 
    = ( 
    dom X) and 
    
        
    
    A3: for x st x 
    in ( 
    dom X) holds (F 
    . x) 
    =  
    [(X
    . x), ((g 
    . x) 
    . d)] and 
    
        
    
    A4: ( 
    dom G) 
    = ( 
    dom X) and 
    
        
    
    A5: for x st x 
    in ( 
    dom X) holds (G 
    . x) 
    =  
    [(X
    . x), ((g 
    . x) 
    . d)]; 
    
        thus (
    dom F) 
    = ( 
    dom G) by 
    A2,
    A4;
    
        let x;
    
        assume
    
        
    
    A6: x 
    in ( 
    dom F); 
    
        
    
        hence (F
    . x) 
    =  
    [(X
    . x), ((g 
    . x) 
    . d)] by 
    A2,
    A3
    
        .= (G
    . x) by 
    A2,
    A5,
    A6;
    
      end;
    
    end
    
    registration
    
      let g be
    Function-yielding  
    Function;
    
      let X be
    finite  
    Function;
    
      let d be
    object;
    
      cluster ( 
    NDdataSeq (g,X,d)) -> 
    finite;
    
      coherence
    
      proof
    
        (
    dom ( 
    NDdataSeq (g,X,d))) 
    = ( 
    dom X) by 
    Def4;
    
        hence thesis by
    FINSET_1: 10;
    
      end;
    
    end
    
    registration
    
      let g be
    Function-yielding  
    Function;
    
      let X be
    FinSequence;
    
      let d be
    object;
    
      cluster ( 
    NDdataSeq (g,X,d)) -> 
    FinSequence-like;
    
      coherence
    
      proof
    
        take (
    len X); 
    
        
    
        thus (
    dom ( 
    NDdataSeq (g,X,d))) 
    = ( 
    dom X) by 
    Def4
    
        .= (
    Seg ( 
    len X)) by 
    FINSEQ_1:def 3;
    
      end;
    
    end
    
    definition
    
      let g be
    Function-yielding  
    Function;
    
      let X be
    Function;
    
      let d be
    object;
    
      :: 
    
    NOMIN_2:def5
    
      func
    
    NDentry (g,X,d) -> 
    set equals ( 
    rng ( 
    NDdataSeq (g,X,d))); 
    
      coherence ;
    
    end
    
    theorem :: 
    
    NOMIN_2:22
    
    for f be
    Function, a,d be 
    object holds ( 
    NDentry ( 
    <*f*>,
    <*a*>,d))
    =  
    {
    [a, (f
    . d)]} 
    
    proof
    
      let f be
    Function;
    
      let a,d be
    object;
    
      set X =
    <*a*>;
    
      set G =
    <*f*>;
    
      set A =
    {
    [a, (f
    . d)]}; 
    
      set N = (
    NDdataSeq (G,X,d)); 
    
      set F = (
    NDentry (G,X,d)); 
    
      
    
      
    
    A1: ( 
    dom N) 
    = ( 
    dom X) by 
    Def4;
    
      
    
      
    
    A2: ( 
    dom X) 
    =  
    {1} by
    FINSEQ_1: 2,
    FINSEQ_1: 38;
    
      
    
      
    
    A3: 1 
    in  
    {1} by
    TARSKI:def 1;
    
      then
    
      
    
    A4: (N 
    . 1) 
    =  
    [(X
    . 1), ((G 
    . 1) 
    . d)] by 
    A2,
    Def4;
    
      
    
      
    
    A5: (X 
    . 1) 
    = a & (G 
    . 1) 
    = f by 
    FINSEQ_1: 40;
    
      thus F
    c= A 
    
      proof
    
        let y be
    object;
    
        assume y
    in F; 
    
        then
    
        consider z be
    object such that 
    
        
    
    A6: z 
    in ( 
    dom N) and 
    
        
    
    A7: (N 
    . z) 
    = y by 
    FUNCT_1:def 3;
    
        z
    = 1 by 
    A1,
    A2,
    A6,
    TARSKI:def 1;
    
        hence thesis by
    A4,
    A5,
    A7,
    TARSKI:def 1;
    
      end;
    
      let y,z be
    object;
    
      assume
    [y, z]
    in A; 
    
      then
    [y, z]
    =  
    [a, (f
    . d)] by 
    TARSKI:def 1;
    
      hence thesis by
    A1,
    A2,
    A3,
    A4,
    A5,
    FUNCT_1:def 3;
    
    end;
    
    theorem :: 
    
    NOMIN_2:23
    
    
    
    
    
    Th22: for f,g be 
    Function, a,b,d be 
    object holds ( 
    NDentry ( 
    <*f, g*>,
    <*a, b*>,d))
    =  
    {
    [a, (f
    . d)], 
    [b, (g
    . d)]} 
    
    proof
    
      let f,g be
    Function;
    
      let a,b,d be
    object;
    
      set X =
    <*a, b*>;
    
      set G =
    <*f, g*>;
    
      set A =
    {
    [a, (f
    . d)], 
    [b, (g
    . d)]}; 
    
      set N = (
    NDdataSeq (G,X,d)); 
    
      set F = (
    NDentry (G,X,d)); 
    
      
    
      
    
    A1: ( 
    dom N) 
    = ( 
    dom X) by 
    Def4;
    
      
    
      
    
    A2: ( 
    dom X) 
    =  
    {1, 2} by
    FINSEQ_1: 92;
    
      
    
      
    
    A3: 1 
    in  
    {1, 2} by
    TARSKI:def 2;
    
      then
    
      
    
    A4: (N 
    . 1) 
    =  
    [(X
    . 1), ((G 
    . 1) 
    . d)] by 
    A2,
    Def4;
    
      
    
      
    
    A5: 2 
    in  
    {1, 2} by
    TARSKI:def 2;
    
      then
    
      
    
    A6: (N 
    . 2) 
    =  
    [(X
    . 2), ((G 
    . 2) 
    . d)] by 
    A2,
    Def4;
    
      
    
      
    
    A7: (X 
    . 1) 
    = a & (X 
    . 2) 
    = b & (G 
    . 1) 
    = f & (G 
    . 2) 
    = g by 
    FINSEQ_1: 44;
    
      thus F
    c= A 
    
      proof
    
        let y be
    object;
    
        assume y
    in F; 
    
        then
    
        consider z be
    object such that 
    
        
    
    A8: z 
    in ( 
    dom N) and 
    
        
    
    A9: (N 
    . z) 
    = y by 
    FUNCT_1:def 3;
    
        z
    = 1 or z 
    = 2 by 
    A1,
    A2,
    A8,
    TARSKI:def 2;
    
        hence thesis by
    A4,
    A6,
    A7,
    A9,
    TARSKI:def 2;
    
      end;
    
      let y,z be
    object;
    
      assume
    [y, z]
    in A; 
    
      then
    [y, z]
    =  
    [a, (f
    . d)] or 
    [y, z]
    =  
    [b, (g
    . d)] by 
    TARSKI:def 2;
    
      hence thesis by
    A1,
    A2,
    A3,
    A4,
    A5,
    A6,
    A7,
    FUNCT_1:def 3;
    
    end;
    
    theorem :: 
    
    NOMIN_2:24
    
    
    
    
    
    Th23: for f,g,h be 
    Function, a,b,c,d be 
    object holds ( 
    NDentry ( 
    <*f, g, h*>,
    <*a, b, c*>,d))
    =  
    {
    [a, (f
    . d)], 
    [b, (g
    . d)], 
    [c, (h
    . d)]} 
    
    proof
    
      let f,g,h be
    Function;
    
      let a,b,c,d be
    object;
    
      set X =
    <*a, b, c*>;
    
      set G =
    <*f, g, h*>;
    
      set A =
    {
    [a, (f
    . d)], 
    [b, (g
    . d)], 
    [c, (h
    . d)]}; 
    
      set N = (
    NDdataSeq (G,X,d)); 
    
      set F = (
    NDentry (G,X,d)); 
    
      
    
      
    
    A1: ( 
    dom N) 
    = ( 
    dom X) by 
    Def4;
    
      
    
      
    
    A2: ( 
    dom X) 
    =  
    {1, 2, 3} by
    Th4;
    
      
    
      
    
    A3: 1 
    in  
    {1, 2, 3} by
    ENUMSET1:def 1;
    
      then
    
      
    
    A4: (N 
    . 1) 
    =  
    [(X
    . 1), ((G 
    . 1) 
    . d)] by 
    A2,
    Def4;
    
      
    
      
    
    A5: 2 
    in  
    {1, 2, 3} by
    ENUMSET1:def 1;
    
      then
    
      
    
    A6: (N 
    . 2) 
    =  
    [(X
    . 2), ((G 
    . 2) 
    . d)] by 
    A2,
    Def4;
    
      
    
      
    
    A7: 3 
    in  
    {1, 2, 3} by
    ENUMSET1:def 1;
    
      then
    
      
    
    A8: (N 
    . 3) 
    =  
    [(X
    . 3), ((G 
    . 3) 
    . d)] by 
    A2,
    Def4;
    
      
    
      
    
    A9: (X 
    . 1) 
    = a & (X 
    . 2) 
    = b & (X 
    . 3) 
    = c & (G 
    . 1) 
    = f & (G 
    . 2) 
    = g & (G 
    . 3) 
    = h by 
    FINSEQ_1: 45;
    
      thus F
    c= A 
    
      proof
    
        let y be
    object;
    
        assume y
    in F; 
    
        then
    
        consider z be
    object such that 
    
        
    
    A10: z 
    in ( 
    dom N) and 
    
        
    
    A11: (N 
    . z) 
    = y by 
    FUNCT_1:def 3;
    
        z
    = 1 or z 
    = 2 or z 
    = 3 by 
    A1,
    A2,
    A10,
    ENUMSET1:def 1;
    
        hence thesis by
    A4,
    A6,
    A8,
    A9,
    A11,
    ENUMSET1:def 1;
    
      end;
    
      let y,z be
    object;
    
      assume
    [y, z]
    in A; 
    
      then
    [y, z]
    =  
    [a, (f
    . d)] or 
    [y, z]
    =  
    [b, (g
    . d)] or 
    [y, z]
    =  
    [c, (h
    . d)] by 
    ENUMSET1:def 1;
    
      hence thesis by
    A1,
    A2,
    A3,
    A4,
    A5,
    A6,
    A7,
    A8,
    A9,
    FUNCT_1:def 3;
    
    end;
    
    registration
    
      let g be
    Function-yielding  
    Function;
    
      let X be
    Function;
    
      let d be
    object;
    
      cluster ( 
    NDentry (g,X,d)) -> 
    Relation-like;
    
      coherence
    
      proof
    
        set f = (
    NDdataSeq (g,X,d)); 
    
        let x;
    
        assume x
    in ( 
    NDentry (g,X,d)); 
    
        then
    
        consider z be
    object such that 
    
        
    
    A1: z 
    in ( 
    dom f) and 
    
        
    
    A2: (f 
    . z) 
    = x by 
    FUNCT_1:def 3;
    
        (
    dom f) 
    = ( 
    dom X) by 
    Def4;
    
        then (f
    . z) 
    =  
    [(X
    . z), ((g 
    . z) 
    . d)] by 
    A1,
    Def4;
    
        hence thesis by
    A2;
    
      end;
    
    end
    
    registration
    
      let g be
    Function-yielding  
    Function;
    
      let X be
    one-to-one  
    Function;
    
      let d be
    object;
    
      cluster ( 
    NDentry (g,X,d)) -> 
    Function-like;
    
      coherence
    
      proof
    
        set f = (
    NDdataSeq (g,X,d)); 
    
        let x,y1,y2 be
    object such that 
    
        
    
    A1: 
    [x, y1]
    in ( 
    NDentry (g,X,d)) and 
    
        
    
    A2: 
    [x, y2]
    in ( 
    NDentry (g,X,d)); 
    
        consider a be
    object such that 
    
        
    
    A3: a 
    in ( 
    dom f) and 
    
        
    
    A4: (f 
    . a) 
    =  
    [x, y1] by
    A1,
    FUNCT_1:def 3;
    
        consider b be
    object such that 
    
        
    
    A5: b 
    in ( 
    dom f) and 
    
        
    
    A6: (f 
    . b) 
    =  
    [x, y2] by
    A2,
    FUNCT_1:def 3;
    
        
    
        
    
    A7: ( 
    dom f) 
    = ( 
    dom X) by 
    Def4;
    
        
    
        
    
    A8: (f 
    . a) 
    =  
    [(X
    . a), ((g 
    . a) 
    . d)] by 
    A3,
    A7,
    Def4;
    
        (f
    . b) 
    =  
    [(X
    . b), ((g 
    . b) 
    . d)] by 
    A5,
    A7,
    Def4;
    
        then x
    = (X 
    . a) & x 
    = (X 
    . b) by 
    A4,
    A6,
    A8,
    XTUPLE_0: 1;
    
        then a
    = b by 
    A3,
    A5,
    A7,
    FUNCT_1:def 4;
    
        hence y1
    = y2 by 
    A4,
    A6,
    XTUPLE_0: 1;
    
      end;
    
    end
    
    registration
    
      let g be
    Function-yielding  
    Function;
    
      let X be
    finite  
    Function;
    
      let d be
    object;
    
      cluster ( 
    NDentry (g,X,d)) -> 
    finite;
    
      coherence ;
    
    end
    
    theorem :: 
    
    NOMIN_2:25
    
    
    
    
    
    Th24: for g be 
    Function-yielding  
    Function, X be 
    Function, d be 
    object holds ( 
    dom ( 
    NDentry (g,X,d))) 
    = ( 
    rng X) 
    
    proof
    
      let g be
    Function-yielding  
    Function;
    
      let X be
    Function;
    
      let d be
    object;
    
      set f = (
    NDentry (g,X,d)); 
    
      set h = (
    NDdataSeq (g,X,d)); 
    
      
    
      
    
    A1: ( 
    dom h) 
    = ( 
    dom X) by 
    Def4;
    
      thus (
    dom f) 
    c= ( 
    rng X) 
    
      proof
    
        let x;
    
        assume x
    in ( 
    dom f); 
    
        then
    
        consider v such that
    
        
    
    A2: 
    [x, v]
    in f by 
    XTUPLE_0:def 12;
    
        consider z be
    object such that 
    
        
    
    A3: z 
    in ( 
    dom h) and 
    
        
    
    A4: (h 
    . z) 
    =  
    [x, v] by
    A2,
    FUNCT_1:def 3;
    
        (h
    . z) 
    =  
    [(X
    . z), ((g 
    . z) 
    . d)] by 
    A1,
    A3,
    Def4;
    
        then (X
    . z) 
    = x by 
    A4,
    XTUPLE_0: 1;
    
        hence thesis by
    A1,
    A3,
    FUNCT_1:def 3;
    
      end;
    
      let x;
    
      assume x
    in ( 
    rng X); 
    
      then
    
      consider z be
    object such that 
    
      
    
    A5: z 
    in ( 
    dom X) and 
    
      
    
    A6: (X 
    . z) 
    = x by 
    FUNCT_1:def 3;
    
      (h
    . z) 
    =  
    [(X
    . z), ((g 
    . z) 
    . d)] by 
    A5,
    Def4;
    
      then
    [(X
    . z), ((g 
    . z) 
    . d)] 
    in ( 
    rng h) by 
    A1,
    A5,
    FUNCT_1: 3;
    
      hence thesis by
    A6,
    XTUPLE_0:def 12;
    
    end;
    
    definition
    
      let V, A;
    
      mode
    
    SCBinominativeFunction of V,A is 
    PartFunc of ( 
    ND (V,A)), ( 
    ND (V,A)); 
    
    end
    
    reserve f,g,h for
    SCBinominativeFunction of V, A; 
    
    theorem :: 
    
    NOMIN_2:26
    
    
    
    
    
    Th25: ( 
    rng ( 
    NDdataSeq ( 
    <*f*>,
    <*v*>,d)))
    = (v 
    .--> (f 
    . d)) 
    
    proof
    
      set g =
    <*f*>;
    
      set X =
    <*v*>;
    
      set N = (
    NDdataSeq (g,X,d)); 
    
      set F = (v
    .--> (f 
    . d)); 
    
      
    
      
    
    A1: ( 
    dom N) 
    = ( 
    dom X) by 
    Def4;
    
      
    
      
    
    A2: ( 
    dom X) 
    =  
    {1} by
    FINSEQ_1: 2,
    FINSEQ_1: 38;
    
      
    
      
    
    A3: (X 
    . 1) 
    = v by 
    FINSEQ_1: 40;
    
      
    
      
    
    A4: (g 
    . 1) 
    = f by 
    FINSEQ_1: 40;
    
      
    
      
    
    A5: F 
    =  
    {
    [v, (f
    . d)]} by 
    ZFMISC_1: 29;
    
      thus (
    rng N) 
    c= F 
    
      proof
    
        let y be
    object;
    
        assume y
    in ( 
    rng N); 
    
        then
    
        consider z be
    object such that 
    
        
    
    A6: z 
    in ( 
    dom N) and 
    
        
    
    A7: (N 
    . z) 
    = y by 
    FUNCT_1:def 3;
    
        
    
        
    
    A8: z 
    = 1 by 
    A1,
    A2,
    A6,
    TARSKI:def 1;
    
        (N
    . z) 
    =  
    [(X
    . z), ((g 
    . z) 
    . d)] by 
    A1,
    A6,
    Def4;
    
        hence thesis by
    A3,
    A4,
    A7,
    A8,
    A5,
    TARSKI:def 1;
    
      end;
    
      let m,n be
    object;
    
      assume
    [m, n]
    in F; 
    
      then
    
      
    
    A9: 
    [m, n]
    =  
    [v, (f
    . d)] by 
    A5,
    TARSKI:def 1;
    
      
    
      
    
    A10: 1 
    in ( 
    dom N) by 
    A1,
    A2,
    TARSKI:def 1;
    
      then (N
    . 1) 
    =  
    [(X
    . 1), ((g 
    . 1) 
    . d)] by 
    A1,
    Def4;
    
      hence thesis by
    A3,
    A4,
    A9,
    A10,
    FUNCT_1:def 3;
    
    end;
    
    theorem :: 
    
    NOMIN_2:27
    
    
    
    
    
    Th26: a 
    in V & d 
    in ( 
    dom f) implies ( 
    NDentry ( 
    <*f*>,
    <*a*>,d))
    = ( 
    naming (V,A,a,(f 
    . d))) 
    
    proof
    
      set g =
    <*f*>;
    
      set X =
    <*a*>;
    
      assume
    
      
    
    A1: a 
    in V; 
    
      assume d
    in ( 
    dom f); 
    
      then
    
      
    
    A2: (f 
    . d) is 
    TypeSCNominativeData of V, A by 
    NOMIN_1: 39,
    PARTFUN1: 4;
    
      (
    rng ( 
    NDdataSeq (g,X,d))) 
    = (a 
    .--> (f 
    . d)) by 
    Th25;
    
      hence thesis by
    A1,
    A2,
    NOMIN_1:def 13;
    
    end;
    
    theorem :: 
    
    NOMIN_2:28
    
    a
    in V & d 
    in ( 
    dom f) implies ( 
    NDentry ( 
    <*f*>,
    <*a*>,d)) is
    NonatomicND of V, A 
    
    proof
    
      assume a
    in V & d 
    in ( 
    dom f); 
    
      then (
    NDentry ( 
    <*f*>,
    <*a*>,d))
    = ( 
    naming (V,A,a,(f 
    . d))) by 
    Th26;
    
      hence thesis;
    
    end;
    
    theorem :: 
    
    NOMIN_2:29
    
    
    {a, b}
    c= V & a 
    <> b & d 
    in ( 
    dom f) & d 
    in ( 
    dom g) implies ( 
    NDentry ( 
    <*f, g*>,
    <*a, b*>,d)) is
    NonatomicND of V, A 
    
    proof
    
      assume that
    
      
    
    A1: 
    {a, b}
    c= V and 
    
      
    
    A2: a 
    <> b and 
    
      
    
    A3: d 
    in ( 
    dom f) & d 
    in ( 
    dom g); 
    
      reconsider O =
    <*a, b*> as
    one-to-one  
    FinSequence by 
    A2,
    FINSEQ_3: 94;
    
      set F = (
    NDentry ( 
    <*f, g*>,O,d));
    
      
    
      
    
    A4: F 
    =  
    {
    [a, (f
    . d)], 
    [b, (g
    . d)]} by 
    Th22;
    
      then
    
      
    
    A5: ( 
    dom F) 
    =  
    {a, b} by
    RELAT_1: 10;
    
      
    
      
    
    A6: ( 
    rng F) 
    =  
    {(f
    . d), (g 
    . d)} by 
    A4,
    RELAT_1: 10;
    
      (f
    . d) 
    in ( 
    ND (V,A)) & (g 
    . d) 
    in ( 
    ND (V,A)) by 
    A3,
    PARTFUN1: 4;
    
      then (
    rng F) 
    c= ( 
    ND (V,A)) by 
    A6,
    ZFMISC_1: 32;
    
      hence thesis by
    A1,
    A5,
    Th6;
    
    end;
    
    theorem :: 
    
    NOMIN_2:30
    
    
    {a, b, c}
    c= V & (a,b,c) 
    are_mutually_distinct & d 
    in ( 
    dom f) & d 
    in ( 
    dom g) & d 
    in ( 
    dom h) implies ( 
    NDentry ( 
    <*f, g, h*>,
    <*a, b, c*>,d)) is
    NonatomicND of V, A 
    
    proof
    
      assume that
    
      
    
    A1: 
    {a, b, c}
    c= V and 
    
      
    
    A2: (a,b,c) 
    are_mutually_distinct and 
    
      
    
    A3: d 
    in ( 
    dom f) & d 
    in ( 
    dom g) & d 
    in ( 
    dom h); 
    
      reconsider O =
    <*a, b, c*> as
    one-to-one  
    FinSequence by 
    A2,
    FINSEQ_3: 95;
    
      set F = (
    NDentry ( 
    <*f, g, h*>,O,d));
    
      
    
      
    
    A4: F 
    =  
    {
    [a, (f
    . d)], 
    [b, (g
    . d)], 
    [c, (h
    . d)]} by 
    Th23;
    
      then
    
      
    
    A5: ( 
    dom F) 
    =  
    {a, b, c} by
    Th2;
    
      
    
      
    
    A6: ( 
    rng F) 
    =  
    {(f
    . d), (g 
    . d), (h 
    . d)} by 
    A4,
    Th3;
    
      (f
    . d) 
    in ( 
    ND (V,A)) & (g 
    . d) 
    in ( 
    ND (V,A)) & (h 
    . d) 
    in ( 
    ND (V,A)) by 
    A3,
    PARTFUN1: 4;
    
      then (
    rng F) 
    c= ( 
    ND (V,A)) by 
    A6,
    Th1;
    
      hence thesis by
    A1,
    A5,
    Th6;
    
    end;
    
    definition
    
      let V, A;
    
      let f be
    FinSequence;
    
      :: 
    
    NOMIN_2:def6
    
      attr f is V,A
    
    -FPrg-yielding means 
    
      :
    
    Def6: for n st 1 
    <= n 
    <= ( 
    len f) holds (f 
    . n) is 
    SCBinominativeFunction of V, A; 
    
    end
    
    registration
    
      let V, A, f;
    
      cluster 
    <*f*> -> V, A
    -FPrg-yielding;
    
      coherence
    
      proof
    
        let n such that
    
        
    
    A1: 1 
    <= n 
    <= ( 
    len  
    <*f*>);
    
        (
    len  
    <*f*>)
    = 1 by 
    FINSEQ_1: 40;
    
        then n
    = 1 by 
    A1,
    XXREAL_0: 1;
    
        hence thesis by
    FINSEQ_1: 40;
    
      end;
    
    end
    
    registration
    
      let V, A, f, g;
    
      cluster 
    <*f, g*> -> V, A
    -FPrg-yielding;
    
      coherence
    
      proof
    
        let n such that
    
        
    
    A1: 1 
    <= n 
    <= ( 
    len  
    <*f, g*>);
    
        (
    len  
    <*f, g*>)
    = (1 
    + 1) by 
    FINSEQ_1: 44;
    
        then n
    = 1 or ... or n 
    = 2 by 
    A1;
    
        hence thesis by
    FINSEQ_1: 44;
    
      end;
    
    end
    
    registration
    
      let V, A, f, g, h;
    
      cluster 
    <*f, g, h*> -> V, A
    -FPrg-yielding;
    
      coherence
    
      proof
    
        let n such that
    
        
    
    A1: 1 
    <= n 
    <= ( 
    len  
    <*f, g, h*>);
    
        (
    len  
    <*f, g, h*>)
    = (1 
    + 2) by 
    FINSEQ_1: 45;
    
        then n
    = 1 or ... or n 
    = 3 by 
    A1;
    
        hence thesis by
    FINSEQ_1: 45;
    
      end;
    
    end
    
    registration
    
      let V, A, n;
    
      cluster V, A 
    -FPrg-yieldingn
    -element for 
    FinSequence;
    
      existence
    
      proof
    
        take f = (n
    |-> the 
    SCBinominativeFunction of V, A); 
    
        thus f is V, A
    -FPrg-yielding
    
        proof
    
          let a be
    Nat;
    
          (
    dom f) 
    = ( 
    Seg n); 
    
          hence thesis by
    FINSEQ_2: 57,
    FINSEQ_3: 25;
    
        end;
    
        thus thesis;
    
      end;
    
    end
    
    registration
    
      let V, A, x;
    
      let g be V, A
    -FPrg-yielding  
    FinSequence;
    
      cluster (g 
    . x) -> 
    Function-like
    Relation-like;
    
      coherence
    
      proof
    
        per cases ;
    
          suppose
    
          
    
    A1: x 
    in ( 
    dom g); 
    
          then
    
          reconsider x as
    Element of 
    NAT ; 
    
          1
    <= x 
    <= ( 
    len g) by 
    A1,
    FINSEQ_3: 25;
    
          hence thesis by
    Def6;
    
        end;
    
          suppose not x
    in ( 
    dom g); 
    
          hence thesis by
    FUNCT_1:def 2;
    
        end;
    
      end;
    
    end
    
    registration
    
      let V, A;
    
      cluster V, A 
    -FPrg-yielding -> 
    Function-yielding for 
    FinSequence;
    
      coherence ;
    
    end
    
    theorem :: 
    
    NOMIN_2:31
    
    
    
    
    
    Th30: for g be V, A 
    -FPrg-yielding  
    FinSequence holds for X be 
    one-to-one  
    FinSequence st ( 
    dom g) 
    = ( 
    dom X) & d 
    in_doms g holds ( 
    rng ( 
    NDentry (g,X,d))) 
    c= ( 
    ND (V,A)) 
    
    proof
    
      let g be V, A
    -FPrg-yielding  
    FinSequence;
    
      let X be
    one-to-one  
    FinSequence;
    
      assume that
    
      
    
    A1: ( 
    dom g) 
    = ( 
    dom X) and 
    
      
    
    A2: d 
    in_doms g; 
    
      set f = (
    NDdataSeq (g,X,d)); 
    
      set D = (
    NDentry (g,X,d)); 
    
      
    
      
    
    A3: ( 
    dom f) 
    = ( 
    dom X) by 
    Def4;
    
      let y be
    object;
    
      assume y
    in ( 
    rng D); 
    
      then
    
      consider a such that
    
      
    
    A4: a 
    in ( 
    dom D) and 
    
      
    
    A5: (D 
    . a) 
    = y by 
    FUNCT_1:def 3;
    
      
    [a, y]
    in D by 
    A4,
    A5,
    FUNCT_1: 1;
    
      then
    
      consider v such that
    
      
    
    A6: v 
    in ( 
    dom f) and 
    
      
    
    A7: (f 
    . v) 
    =  
    [a, y] by
    FUNCT_1:def 3;
    
      reconsider v as
    Element of 
    NAT by 
    A6;
    
      (f
    . v) 
    =  
    [(X
    . v), ((g 
    . v) 
    . d)] by 
    A3,
    A6,
    Def4;
    
      then
    
      
    
    A8: y 
    = ((g 
    . v) 
    . d) by 
    A7,
    XTUPLE_0: 1;
    
      1
    <= v 
    <= ( 
    len g) by 
    A1,
    A3,
    A6,
    FINSEQ_3: 25;
    
      then (g
    . v) is 
    SCBinominativeFunction of V, A by 
    Def6;
    
      then
    
      
    
    A9: ( 
    rng (g 
    . v)) 
    c= ( 
    ND (V,A)) by 
    RELAT_1:def 19;
    
      d
    in ( 
    dom (g 
    . v)) by 
    A1,
    A3,
    A6,
    A2;
    
      hence thesis by
    A8,
    A9,
    FUNCT_1: 3;
    
    end;
    
    theorem :: 
    
    NOMIN_2:32
    
    for g be V, A
    -FPrg-yielding  
    FinSequence holds for X be 
    one-to-oneV
    -valued  
    FinSequence st ( 
    dom g) 
    = ( 
    dom X) & d 
    in_doms g holds ( 
    NDentry (g,X,d)) is 
    NonatomicND of V, A 
    
    proof
    
      let g be V, A
    -FPrg-yielding  
    FinSequence;
    
      let X be
    one-to-oneV
    -valued  
    FinSequence;
    
      assume
    
      
    
    A1: ( 
    dom g) 
    = ( 
    dom X) & d 
    in_doms g; 
    
      
    
      
    
    A2: ( 
    dom ( 
    NDentry (g,X,d))) 
    = ( 
    rng X) by 
    Th24;
    
      
    
      
    
    A3: ( 
    rng X) 
    c= V by 
    RELAT_1:def 19;
    
      (
    rng ( 
    NDentry (g,X,d))) 
    c= ( 
    ND (V,A)) by 
    A1,
    Th30;
    
      hence thesis by
    A2,
    A3,
    Th6;
    
    end;
    
    ::$Notion-Name
    
    definition
    
      let V, A, v;
    
      :: 
    
    NOMIN_2:def7
    
      func
    
    SCassignment (V,A,v) -> 
    Function of ( 
    FPrg ( 
    ND (V,A))), ( 
    FPrg ( 
    ND (V,A))) means 
    
      :
    
    Def7: for f be 
    SCBinominativeFunction of V, A holds ( 
    dom (it 
    . f)) 
    = ( 
    dom f) & for d be 
    TypeSCNominativeData of V, A holds d 
    in ( 
    dom (it 
    . f)) implies ((it 
    . f) 
    . d) 
    = ( 
    local_overlapping (V,A,d,(f 
    . d),v)); 
    
      existence
    
      proof
    
        defpred
    
    P[
    Function, 
    Function] means for f be
    SCBinominativeFunction of V, A st f 
    = $1 holds ( 
    dom $2) 
    = ( 
    dom f) & for d be 
    TypeSCNominativeData of V, A holds d 
    in ( 
    dom $2) implies ($2 
    . d) 
    = ( 
    local_overlapping (V,A,d,($1 
    . d),v)); 
    
        
    
        
    
    A1: for x be 
    Element of ( 
    FPrg ( 
    ND (V,A))) holds ex y be 
    Element of ( 
    FPrg ( 
    ND (V,A))) st 
    P[x, y]
    
        proof
    
          let x be
    Element of ( 
    FPrg ( 
    ND (V,A))); 
    
          defpred
    
    Q[
    object, 
    object] means $2
    = ( 
    local_overlapping (V,A,$1,(x 
    . $1),v)); 
    
          
    
          
    
    A2: for a be 
    object st a 
    in ( 
    dom x) holds ex y be 
    object st y 
    in ( 
    ND (V,A)) & 
    Q[a, y]
    
          proof
    
            let a be
    object;
    
            (
    local_overlapping (V,A,a,(x 
    . a),v)) 
    in ( 
    ND (V,A)); 
    
            hence thesis;
    
          end;
    
          consider F be
    Function such that 
    
          
    
    A3: ( 
    dom F) 
    = ( 
    dom x) and 
    
          
    
    A4: ( 
    rng F) 
    c= ( 
    ND (V,A)) and 
    
          
    
    A5: for a be 
    object st a 
    in ( 
    dom x) holds 
    Q[a, (F
    . a)] from 
    FUNCT_1:sch 6(
    A2);
    
          F is
    PartFunc of ( 
    ND (V,A)), ( 
    ND (V,A)) by 
    A3,
    A4,
    RELSET_1: 4,
    RELAT_1:def 18;
    
          then
    
          reconsider F as
    Element of ( 
    FPrg ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
          take F;
    
          thus thesis by
    A3,
    A5;
    
        end;
    
        consider F be
    Function of ( 
    FPrg ( 
    ND (V,A))), ( 
    FPrg ( 
    ND (V,A))) such that 
    
        
    
    A6: for x be 
    Element of ( 
    FPrg ( 
    ND (V,A))) holds 
    P[x, (F
    . x)] from 
    FUNCT_2:sch 3(
    A1);
    
        take F;
    
        let f be
    SCBinominativeFunction of V, A; 
    
        f
    in ( 
    FPrg ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
        hence thesis by
    A6;
    
      end;
    
      uniqueness
    
      proof
    
        let F,G be
    Function of ( 
    FPrg ( 
    ND (V,A))), ( 
    FPrg ( 
    ND (V,A))) such that 
    
        
    
    A7: for f be 
    SCBinominativeFunction of V, A holds ( 
    dom (F 
    . f)) 
    = ( 
    dom f) & for d be 
    TypeSCNominativeData of V, A holds d 
    in ( 
    dom (F 
    . f)) implies ((F 
    . f) 
    . d) 
    = ( 
    local_overlapping (V,A,d,(f 
    . d),v)) and 
    
        
    
    A8: for f be 
    SCBinominativeFunction of V, A holds ( 
    dom (G 
    . f)) 
    = ( 
    dom f) & for d be 
    TypeSCNominativeData of V, A holds d 
    in ( 
    dom (G 
    . f)) implies ((G 
    . f) 
    . d) 
    = ( 
    local_overlapping (V,A,d,(f 
    . d),v)); 
    
        let f be
    Element of ( 
    FPrg ( 
    ND (V,A))); 
    
        
    
        
    
    A9: f is 
    SCBinominativeFunction of V, A by 
    PARTFUN1: 46;
    
        
    
        hence
    
        
    
    A10: ( 
    dom (F 
    . f)) 
    = ( 
    dom f) by 
    A7
    
        .= (
    dom (G 
    . f)) by 
    A8,
    A9;
    
        let d be
    object such that 
    
        
    
    A11: d 
    in ( 
    dom (F 
    . f)); 
    
        (
    dom (F 
    . f)) 
    c= ( 
    ND (V,A)) by 
    RELAT_1:def 18;
    
        then
    
        
    
    A12: d is 
    TypeSCNominativeData of V, A by 
    A11,
    NOMIN_1: 39;
    
        
    
        hence ((F
    . f) 
    . d) 
    = ( 
    local_overlapping (V,A,d,(f 
    . d),v)) by 
    A7,
    A9,
    A11
    
        .= ((G
    . f) 
    . d) by 
    A8,
    A9,
    A10,
    A11,
    A12;
    
      end;
    
    end
    
    ::$Notion-Name
    
    definition
    
      let V, A, v, f;
    
      :: 
    
    NOMIN_2:def8
    
      func
    
    SC_assignment (f,v) -> 
    SCBinominativeFunction of V, A equals (( 
    SCassignment (V,A,v)) 
    . f); 
    
      coherence
    
      proof
    
        f
    in ( 
    FPrg ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
        hence thesis by
    PARTFUN1: 46,
    FUNCT_2: 5;
    
      end;
    
    end
    
    registration
    
      let V, A, f, v;
    
      let d be
    NonatomicND of V, A; 
    
      cluster (( 
    SC_assignment (f,v)) 
    . d) -> 
    Function-like
    Relation-like;
    
      coherence
    
      proof
    
        set a = (
    SC_assignment (f,v)); 
    
        reconsider d1 = d as
    TypeSCNominativeData of V, A; 
    
        per cases ;
    
          suppose d
    in ( 
    dom a); 
    
          then (a
    . d1) 
    = ( 
    local_overlapping (V,A,d1,(f 
    . d1),v)) by 
    Def7;
    
          hence thesis;
    
        end;
    
          suppose not d
    in ( 
    dom a); 
    
          hence thesis by
    FUNCT_1:def 2;
    
        end;
    
      end;
    
    end
    
    theorem :: 
    
    NOMIN_2:33
    
    for d be
    NonatomicND of V, A holds v 
    in V & not d 
    in A & not ( 
    naming (V,A,v,(f 
    . d))) 
    in A & d 
    in ( 
    dom f) implies ( 
    dom (( 
    SC_assignment (f,v)) 
    . d)) 
    = (( 
    dom d) 
    \/  
    {v})
    
    proof
    
      set a = (
    SC_assignment (f,v)); 
    
      let d be
    NonatomicND of V, A; 
    
      assume that
    
      
    
    A1: v 
    in V & not d 
    in A & not ( 
    naming (V,A,v,(f 
    . d))) 
    in A and 
    
      
    
    A2: d 
    in ( 
    dom f); 
    
      
    
      
    
    A3: ( 
    dom a) 
    = ( 
    dom f) by 
    Def7;
    
      reconsider d1 = d as
    TypeSCNominativeData of V, A; 
    
      reconsider d2 = (f
    . d1) as 
    TypeSCNominativeData of V, A by 
    A2,
    PARTFUN1: 4,
    NOMIN_1: 39;
    
      (
    dom ( 
    local_overlapping (V,A,d,d2,v))) 
    = ( 
    {v}
    \/ ( 
    dom d)) by 
    A1,
    Th14;
    
      hence thesis by
    A2,
    A3,
    Def7;
    
    end;
    
    ::$Notion-Name
    
    definition
    
      let V, A;
    
      let g be V, A
    -FPrg-yielding  
    FinSequence;
    
      let X be
    Function;
    
      defpred
    
    A[
    object] means $1
    in_doms g; 
    
      deffunc
    
    D(
    Function) = { d where d be
    TypeSCNominativeData of V, A : ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom $1) & 
    A[d] };
    
      :: 
    
    NOMIN_2:def9
    
      func
    
    SCPsuperpos (g,X) -> 
    Function of 
    [:(
    Pr ( 
    ND (V,A))), ( 
    product g):], ( 
    Pr ( 
    ND (V,A))) means 
    
      :
    
    Def9: for p be 
    SCPartialNominativePredicate of V, A holds for x be 
    Element of ( 
    product g) holds ( 
    dom (it 
    . (p,x))) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom p) & d 
    in_doms g } & for d be 
    TypeSCNominativeData of V, A st d 
    in_doms g holds ((it 
    . (p,x)),d) 
    =~ (p,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
      existence
    
      proof
    
        defpred
    
    P[
    object, 
    object, 
    object] means for p be
    SCPartialNominativePredicate of V, A holds for x be 
    Element of ( 
    product g) st $1 
    = p & $2 
    = x holds for f be 
    Function st f 
    = $3 holds ( 
    dom f) 
    =  
    D(p) & for d be
    TypeSCNominativeData of V, A holds d 
    in ( 
    dom f) implies (f 
    . d) 
    = (p 
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
        
    
        
    
    A2: for x1,x2 be 
    object st x1 
    in ( 
    Pr ( 
    ND (V,A))) & x2 
    in ( 
    product g) holds ex y be 
    object st y 
    in ( 
    Pr ( 
    ND (V,A))) & 
    P[x1, x2, y]
    
        proof
    
          let x1,x2 be
    object;
    
          assume x1
    in ( 
    Pr ( 
    ND (V,A))); 
    
          then
    
          reconsider X1 = x1 as
    PartFunc of ( 
    ND (V,A)), 
    BOOLEAN by 
    PARTFUN1: 46;
    
          assume x2
    in ( 
    product g); 
    
          defpred
    
    Q[
    object, 
    object] means for d be
    TypeSCNominativeData of V, A st d 
    = $1 holds ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom X1) implies $2 
    = (X1 
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
          
    
          
    
    A3: for a be 
    object st a 
    in  
    D(X1) holds ex b be
    object st b 
    in  
    BOOLEAN & 
    Q[a, b]
    
          proof
    
            let a be
    object;
    
            assume a
    in  
    D(X1);
    
            then
    
            consider d be
    TypeSCNominativeData of V, A such that 
    
            
    
    A4: d 
    = a and 
    
            
    
    A5: ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom X1) and 
    A[d];
    
            take (X1
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
            thus thesis by
    A4,
    A5,
    PARTFUN1: 4;
    
          end;
    
          consider K be
    Function such that 
    
          
    
    A6: ( 
    dom K) 
    =  
    D(X1) and
    
          
    
    A7: ( 
    rng K) 
    c=  
    BOOLEAN and 
    
          
    
    A8: for x be 
    object st x 
    in  
    D(X1) holds
    Q[x, (K
    . x)] from 
    FUNCT_1:sch 6(
    A3);
    
          take K;
    
          
    D(X1)
    c= ( 
    ND (V,A)) 
    
          proof
    
            let x;
    
            assume x
    in  
    D(X1);
    
            then ex d be
    TypeSCNominativeData of V, A st d 
    = x & ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom X1) & 
    A[d];
    
            hence thesis;
    
          end;
    
          then K is
    PartFunc of ( 
    ND (V,A)), 
    BOOLEAN by 
    A6,
    A7,
    RELSET_1: 4;
    
          hence K
    in ( 
    Pr ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
          let p be
    SCPartialNominativePredicate of V, A; 
    
          let q be
    Element of ( 
    product g) such that 
    
          
    
    A9: x1 
    = p & x2 
    = q; 
    
          let f be
    Function such that 
    
          
    
    A10: f 
    = K; 
    
          thus (
    dom f) 
    =  
    D(p) by
    A6,
    A9,
    A10;
    
          let d be
    TypeSCNominativeData of V, A; 
    
          assume
    
          
    
    A11: d 
    in ( 
    dom f); 
    
          then ex d1 be
    TypeSCNominativeData of V, A st d1 
    = d & ( 
    global_overlapping (V,A,d1,( 
    NDentry (g,X,d1)))) 
    in ( 
    dom X1) & 
    A[d1] by
    A6,
    A10;
    
          hence (f
    . d) 
    = (p 
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) by 
    A6,
    A8,
    A9,
    A10,
    A11;
    
        end;
    
        consider F be
    Function of 
    [:(
    Pr ( 
    ND (V,A))), ( 
    product g):], ( 
    Pr ( 
    ND (V,A))) such that 
    
        
    
    A12: for x,y be 
    object st x 
    in ( 
    Pr ( 
    ND (V,A))) & y 
    in ( 
    product g) holds 
    P[x, y, (F
    . (x,y))] from 
    BINOP_1:sch 1(
    A2);
    
        take F;
    
        let p be
    SCPartialNominativePredicate of V, A; 
    
        let q be
    Element of ( 
    product g); 
    
        
    
        
    
    A13: p 
    in ( 
    Pr ( 
    ND (V,A))) & q 
    in ( 
    product g) by 
    A1,
    PARTFUN1: 45;
    
        hence
    
        
    
    A14: ( 
    dom (F 
    . (p,q))) 
    =  
    D(p) by
    A12;
    
        let d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A15: 
    A[d];
    
        thus d
    in ( 
    dom (F 
    . (p,q))) iff ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom p) 
    
        proof
    
          hereby
    
            assume d
    in ( 
    dom (F 
    . (p,q))); 
    
            then ex d1 be
    TypeSCNominativeData of V, A st d 
    = d1 & ( 
    global_overlapping (V,A,d1,( 
    NDentry (g,X,d1)))) 
    in ( 
    dom p) & 
    A[d1] by
    A14;
    
            hence (
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom p); 
    
          end;
    
          thus thesis by
    A14,
    A15;
    
        end;
    
        thus thesis by
    A12,
    A13;
    
      end;
    
      uniqueness
    
      proof
    
        let F,G be
    Function of 
    [:(
    Pr ( 
    ND (V,A))), ( 
    product g):], ( 
    Pr ( 
    ND (V,A))) such that 
    
        
    
    A16: for p be 
    SCPartialNominativePredicate of V, A holds for x be 
    Element of ( 
    product g) holds ( 
    dom (F 
    . (p,x))) 
    =  
    D(p) & for d be
    TypeSCNominativeData of V, A st 
    A[d] holds ((F
    . (p,x)),d) 
    =~ (p,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) and 
    
        
    
    A17: for p be 
    SCPartialNominativePredicate of V, A holds for x be 
    Element of ( 
    product g) holds ( 
    dom (G 
    . (p,x))) 
    =  
    D(p) & for d be
    TypeSCNominativeData of V, A st 
    A[d] holds ((G
    . (p,x)),d) 
    =~ (p,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
        let a,b be
    set;
    
        assume a
    in ( 
    Pr ( 
    ND (V,A))); 
    
        then
    
        reconsider p = a as
    SCPartialNominativePredicate of V, A by 
    PARTFUN1: 46;
    
        assume
    
        
    
    A18: b 
    in ( 
    product g); 
    
        then
    
        
    
    A19: ( 
    dom (F 
    . (a,b))) 
    =  
    D(p) by
    A16;
    
        hence (
    dom (F 
    . (a,b))) 
    = ( 
    dom (G 
    . (a,b))) by 
    A17,
    A18;
    
        let z be
    object;
    
        assume
    
        
    
    A20: z 
    in ( 
    dom (F 
    . (a,b))); 
    
        then
    
        consider d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A21: d 
    = z and ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom p) and 
    
        
    
    A22: 
    A[d] by
    A19;
    
        
    
        
    
    A23: ((G 
    . (p,b)),d) 
    =~ (p,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) by 
    A17,
    A18,
    A22;
    
        ((F
    . (p,b)),d) 
    =~ (p,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) by 
    A16,
    A18,
    A22;
    
        hence thesis by
    A20,
    A23,
    A21;
    
      end;
    
    end
    
    ::$Notion-Name
    
    definition
    
      let V, A, p;
    
      let g be V, A
    -FPrg-yielding  
    FinSequence;
    
      let X be
    Function;
    
      let x be
    Element of ( 
    product g); 
    
      :: 
    
    NOMIN_2:def10
    
      func
    
    SC_Psuperpos (p,x,X) -> 
    SCPartialNominativePredicate of V, A equals 
    
      :
    
    Def10: (( 
    SCPsuperpos (g,X)) 
    . (p,x)); 
    
      coherence
    
      proof
    
        p
    in ( 
    Pr ( 
    ND (V,A))) & x 
    in ( 
    product g) by 
    A1,
    PARTFUN1: 45;
    
        hence thesis by
    PARTFUN1: 46,
    BINOP_1: 17;
    
      end;
    
    end
    
    theorem :: 
    
    NOMIN_2:34
    
    
    
    
    
    Th33: for g be V, A 
    -FPrg-yielding  
    FinSequence st ( 
    product g) 
    <>  
    {} holds for x be 
    Element of ( 
    product g) st d 
    in ( 
    dom ( 
    SC_Psuperpos (p,x,X))) holds d 
    in_doms g & (( 
    SC_Psuperpos (p,x,X)) 
    . d) 
    = (p 
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) 
    
    proof
    
      let g be V, A
    -FPrg-yielding  
    FinSequence such that 
    
      
    
    A1: ( 
    product g) 
    <>  
    {} ; 
    
      let x be
    Element of ( 
    product g) such that 
    
      
    
    A2: d 
    in ( 
    dom ( 
    SC_Psuperpos (p,x,X))); 
    
      (
    SC_Psuperpos (p,x,X)) 
    = (( 
    SCPsuperpos (g,X)) 
    . (p,x)) by 
    A1,
    Def10;
    
      then (
    dom ( 
    SC_Psuperpos (p,x,X))) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom p) & d 
    in_doms g } by 
    A1,
    Def9;
    
      then
    
      
    
    A3: ex d1 be 
    TypeSCNominativeData of V, A st d1 
    = d & ( 
    global_overlapping (V,A,d1,( 
    NDentry (g,X,d1)))) 
    in ( 
    dom p) & d1 
    in_doms g by 
    A2;
    
      then (((
    SCPsuperpos (g,X)) 
    . (p,x)),d) 
    =~ (p,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) by 
    A1,
    Def9;
    
      hence thesis by
    A1,
    A3,
    Def10;
    
    end;
    
    ::$Notion-Name
    
    definition
    
      let V, A, v;
    
      deffunc
    
    D(
    Function, 
    Function) = { d where d be
    TypeSCNominativeData of V, A : ( 
    local_overlapping (V,A,d,($2 
    . d),v)) 
    in ( 
    dom $1) & d 
    in ( 
    dom $2) }; 
    
      :: 
    
    NOMIN_2:def11
    
      func
    
    SCPsuperpos (V,A,v) -> 
    Function of 
    [:(
    Pr ( 
    ND (V,A))), ( 
    FPrg ( 
    ND (V,A))):], ( 
    Pr ( 
    ND (V,A))) means 
    
      :
    
    Def11: for p be 
    SCPartialNominativePredicate of V, A holds for f be 
    SCBinominativeFunction of V, A holds ( 
    dom (it 
    . (p,f))) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    local_overlapping (V,A,d,(f 
    . d),v)) 
    in ( 
    dom p) & d 
    in ( 
    dom f) } & for d be 
    TypeSCNominativeData of V, A st d 
    in ( 
    dom f) holds ((it 
    . (p,f)),d) 
    =~ (p,( 
    local_overlapping (V,A,d,(f 
    . d),v))); 
    
      existence
    
      proof
    
        defpred
    
    P[
    object, 
    object, 
    object] means for p be
    SCPartialNominativePredicate of V, A holds for f be 
    SCBinominativeFunction of V, A st $1 
    = p & $2 
    = f holds for F be 
    Function st F 
    = $3 holds ( 
    dom F) 
    =  
    D(p,f) & for d be
    TypeSCNominativeData of V, A holds d 
    in ( 
    dom F) implies (F 
    . d) 
    = (p 
    . ( 
    local_overlapping (V,A,d,(f 
    . d),v))); 
    
        
    
        
    
    A1: for x1,x2 be 
    object st x1 
    in ( 
    Pr ( 
    ND (V,A))) & x2 
    in ( 
    FPrg ( 
    ND (V,A))) holds ex y be 
    object st y 
    in ( 
    Pr ( 
    ND (V,A))) & 
    P[x1, x2, y]
    
        proof
    
          let x1,x2 be
    object;
    
          assume x1
    in ( 
    Pr ( 
    ND (V,A))); 
    
          then
    
          reconsider X1 = x1 as
    PartFunc of ( 
    ND (V,A)), 
    BOOLEAN by 
    PARTFUN1: 46;
    
          assume x2
    in ( 
    FPrg ( 
    ND (V,A))); 
    
          then
    
          reconsider X2 = x2 as
    PartFunc of ( 
    ND (V,A)), ( 
    ND (V,A)) by 
    PARTFUN1: 46;
    
          defpred
    
    Q[
    object, 
    object] means for d be
    TypeSCNominativeData of V, A st d 
    = $1 holds ( 
    local_overlapping (V,A,d,(X2 
    . d),v)) 
    in ( 
    dom X1) implies $2 
    = (X1 
    . ( 
    local_overlapping (V,A,d,(X2 
    . d),v))); 
    
          
    
          
    
    A2: for a be 
    object st a 
    in  
    D(X1,X2) holds ex b be
    object st b 
    in  
    BOOLEAN & 
    Q[a, b]
    
          proof
    
            let a be
    object;
    
            assume a
    in  
    D(X1,X2);
    
            then
    
            consider d be
    TypeSCNominativeData of V, A such that 
    
            
    
    A3: d 
    = a & ( 
    local_overlapping (V,A,d,(X2 
    . d),v)) 
    in ( 
    dom X1) & d 
    in ( 
    dom X2); 
    
            take (X1
    . ( 
    local_overlapping (V,A,d,(X2 
    . d),v))); 
    
            thus thesis by
    A3,
    PARTFUN1: 4;
    
          end;
    
          consider K be
    Function such that 
    
          
    
    A4: ( 
    dom K) 
    =  
    D(X1,X2) and
    
          
    
    A5: ( 
    rng K) 
    c=  
    BOOLEAN and 
    
          
    
    A6: for x be 
    object st x 
    in  
    D(X1,X2) holds
    Q[x, (K
    . x)] from 
    FUNCT_1:sch 6(
    A2);
    
          take K;
    
          
    D(X1,X2)
    c= ( 
    ND (V,A)) 
    
          proof
    
            let x;
    
            assume x
    in  
    D(X1,X2);
    
            then ex d be
    TypeSCNominativeData of V, A st d 
    = x & ( 
    local_overlapping (V,A,d,(X2 
    . d),v)) 
    in ( 
    dom X1) & d 
    in ( 
    dom X2); 
    
            hence thesis;
    
          end;
    
          then K is
    PartFunc of ( 
    ND (V,A)), 
    BOOLEAN by 
    A4,
    A5,
    RELSET_1: 4;
    
          hence K
    in ( 
    Pr ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
          let p be
    SCPartialNominativePredicate of V, A; 
    
          let f be
    SCBinominativeFunction of V, A such that 
    
          
    
    A7: x1 
    = p & x2 
    = f; 
    
          let F be
    Function such that 
    
          
    
    A8: F 
    = K; 
    
          thus (
    dom F) 
    =  
    D(p,f) by
    A4,
    A7,
    A8;
    
          let d be
    TypeSCNominativeData of V, A; 
    
          assume
    
          
    
    A9: d 
    in ( 
    dom F); 
    
          then ex d1 be
    TypeSCNominativeData of V, A st d1 
    = d & ( 
    local_overlapping (V,A,d1,(X2 
    . d1),v)) 
    in ( 
    dom X1) & d1 
    in ( 
    dom X2) by 
    A4,
    A8;
    
          hence thesis by
    A4,
    A6,
    A7,
    A8,
    A9;
    
        end;
    
        consider F be
    Function of 
    [:(
    Pr ( 
    ND (V,A))), ( 
    FPrg ( 
    ND (V,A))):], ( 
    Pr ( 
    ND (V,A))) such that 
    
        
    
    A10: for x,y be 
    object st x 
    in ( 
    Pr ( 
    ND (V,A))) & y 
    in ( 
    FPrg ( 
    ND (V,A))) holds 
    P[x, y, (F
    . (x,y))] from 
    BINOP_1:sch 1(
    A1);
    
        take F;
    
        let p be
    SCPartialNominativePredicate of V, A; 
    
        let f be
    SCBinominativeFunction of V, A; 
    
        
    
        
    
    A11: p 
    in ( 
    Pr ( 
    ND (V,A))) & f 
    in ( 
    FPrg ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
        hence
    
        
    
    A12: ( 
    dom (F 
    . (p,f))) 
    =  
    D(p,f) by
    A10;
    
        let d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A13: d 
    in ( 
    dom f); 
    
        thus d
    in ( 
    dom (F 
    . (p,f))) iff ( 
    local_overlapping (V,A,d,(f 
    . d),v)) 
    in ( 
    dom p) 
    
        proof
    
          hereby
    
            assume d
    in ( 
    dom (F 
    . (p,f))); 
    
            then ex d1 be
    TypeSCNominativeData of V, A st d 
    = d1 & ( 
    local_overlapping (V,A,d1,(f 
    . d1),v)) 
    in ( 
    dom p) & d1 
    in ( 
    dom f) by 
    A12;
    
            hence (
    local_overlapping (V,A,d,(f 
    . d),v)) 
    in ( 
    dom p); 
    
          end;
    
          thus thesis by
    A12,
    A13;
    
        end;
    
        thus thesis by
    A10,
    A11;
    
      end;
    
      uniqueness
    
      proof
    
        let F,G be
    Function of 
    [:(
    Pr ( 
    ND (V,A))), ( 
    FPrg ( 
    ND (V,A))):], ( 
    Pr ( 
    ND (V,A))) such that 
    
        
    
    A14: for p be 
    SCPartialNominativePredicate of V, A holds for f be 
    SCBinominativeFunction of V, A holds ( 
    dom (F 
    . (p,f))) 
    =  
    D(p,f) & for d be
    TypeSCNominativeData of V, A st d 
    in ( 
    dom f) holds ((F 
    . (p,f)),d) 
    =~ (p,( 
    local_overlapping (V,A,d,(f 
    . d),v))) and 
    
        
    
    A15: for p be 
    SCPartialNominativePredicate of V, A holds for f be 
    SCBinominativeFunction of V, A holds ( 
    dom (G 
    . (p,f))) 
    =  
    D(p,f) & for d be
    TypeSCNominativeData of V, A st d 
    in ( 
    dom f) holds ((G 
    . (p,f)),d) 
    =~ (p,( 
    local_overlapping (V,A,d,(f 
    . d),v))); 
    
        let a,b be
    set;
    
        assume a
    in ( 
    Pr ( 
    ND (V,A))); 
    
        then
    
        reconsider p = a as
    SCPartialNominativePredicate of V, A by 
    PARTFUN1: 46;
    
        assume b
    in ( 
    FPrg ( 
    ND (V,A))); 
    
        then
    
        reconsider f = b as
    SCBinominativeFunction of V, A by 
    PARTFUN1: 46;
    
        
    
        
    
    A16: ( 
    dom (F 
    . (a,b))) 
    =  
    D(p,f) by
    A14;
    
        hence (
    dom (F 
    . (a,b))) 
    = ( 
    dom (G 
    . (a,b))) by 
    A15;
    
        let z be
    object;
    
        assume z
    in ( 
    dom (F 
    . (a,b))); 
    
        then
    
        consider d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A17: z 
    = d & ( 
    local_overlapping (V,A,d,(f 
    . d),v)) 
    in ( 
    dom p) and 
    
        
    
    A18: d 
    in ( 
    dom f) by 
    A16;
    
        
    
        
    
    A19: ((G 
    . (p,f)),d) 
    =~ (p,( 
    local_overlapping (V,A,d,(f 
    . d),v))) by 
    A15,
    A18;
    
        ((F
    . (p,f)),d) 
    =~ (p,( 
    local_overlapping (V,A,d,(f 
    . d),v))) by 
    A14,
    A18;
    
        hence thesis by
    A17,
    A19;
    
      end;
    
    end
    
    ::$Notion-Name
    
    definition
    
      let V, A, v, p, f;
    
      :: 
    
    NOMIN_2:def12
    
      func
    
    SC_Psuperpos (p,f,v) -> 
    SCPartialNominativePredicate of V, A equals (( 
    SCPsuperpos (V,A,v)) 
    . (p,f)); 
    
      coherence
    
      proof
    
        p
    in ( 
    Pr ( 
    ND (V,A))) & f 
    in ( 
    FPrg ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
        hence thesis by
    PARTFUN1: 46,
    BINOP_1: 17;
    
      end;
    
    end
    
    theorem :: 
    
    NOMIN_2:35
    
    
    
    
    
    Th34: d 
    in ( 
    dom ( 
    SC_Psuperpos (p,f,v))) implies (( 
    SC_Psuperpos (p,f,v)) 
    . d) 
    = (p 
    . ( 
    local_overlapping (V,A,d,(f 
    . d),v))) & d 
    in ( 
    dom f) 
    
    proof
    
      set F = (
    SC_Psuperpos (p,f,v)); 
    
      assume
    
      
    
    A1: d 
    in ( 
    dom F); 
    
      (
    dom F) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    local_overlapping (V,A,d,(f 
    . d),v)) 
    in ( 
    dom p) & d 
    in ( 
    dom f) } by 
    Def11;
    
      then
    
      
    
    A2: ex d1 be 
    TypeSCNominativeData of V, A st d1 
    = d & ( 
    local_overlapping (V,A,d1,(f 
    . d1),v)) 
    in ( 
    dom p) & d1 
    in ( 
    dom f) by 
    A1;
    
      then (F,d)
    =~ (p,( 
    local_overlapping (V,A,d,(f 
    . d),v))) by 
    Def11;
    
      hence thesis by
    A2;
    
    end;
    
    theorem :: 
    
    NOMIN_2:36
    
    for x be
    Element of ( 
    product  
    <*f*>) st v
    in V & ( 
    product  
    <*f*>)
    <>  
    {} holds ( 
    SC_Psuperpos (p,f,v)) 
    = ( 
    SC_Psuperpos (p,x, 
    <*v*>))
    
    proof
    
      set g =
    <*f*>;
    
      let x be
    Element of ( 
    product g); 
    
      assume that
    
      
    
    A1: v 
    in V and 
    
      
    
    A2: ( 
    product g) 
    <>  
    {} ; 
    
      set X =
    <*v*>;
    
      set S1 = (
    SC_Psuperpos (p,f,v)); 
    
      set S2 = (
    SC_Psuperpos (p,x,X)); 
    
      defpred
    
    A[
    object] means $1
    in_doms g; 
    
      
    
      
    
    A3: (g 
    . 1) 
    = f by 
    FINSEQ_1: 40;
    
      
    
      
    
    A4: ( 
    dom g) 
    =  
    {1} by
    FINSEQ_1: 2,
    FINSEQ_1: 38;
    
      
    
      
    
    A5: ( 
    dom S1) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    local_overlapping (V,A,d,(f 
    . d),v)) 
    in ( 
    dom p) & d 
    in ( 
    dom f) } by 
    Def11;
    
      S2
    = (( 
    SCPsuperpos (g,X)) 
    . (p,x)) by 
    A2,
    Def10;
    
      then
    
      
    
    A6: ( 
    dom S2) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom p) & 
    A[d] } by
    A2,
    Def9;
    
      thus
    
      
    
    A7: ( 
    dom S1) 
    = ( 
    dom S2) 
    
      proof
    
        thus (
    dom S1) 
    c= ( 
    dom S2) 
    
        proof
    
          let a be
    object;
    
          assume a
    in ( 
    dom S1); 
    
          then
    
          consider d such that
    
          
    
    A8: d 
    = a and 
    
          
    
    A9: ( 
    local_overlapping (V,A,d,(f 
    . d),v)) 
    in ( 
    dom p) and 
    
          
    
    A10: d 
    in ( 
    dom f) by 
    A5;
    
          
    
          
    
    A11: 
    A[d]
    
          proof
    
            let x;
    
            thus thesis by
    A10,
    A3,
    A4,
    TARSKI:def 1;
    
          end;
    
          (
    NDentry (g,X,d)) 
    = ( 
    naming (V,A,v,(f 
    . d))) by 
    A1,
    A10,
    Th26;
    
          hence thesis by
    A8,
    A9,
    A11,
    A6;
    
        end;
    
        let a be
    object;
    
        assume a
    in ( 
    dom S2); 
    
        then
    
        consider d such that
    
        
    
    A12: a 
    = d and 
    
        
    
    A13: ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom p) and 
    
        
    
    A14: 
    A[d] by
    A6;
    
        1
    in ( 
    dom g) by 
    A4,
    TARSKI:def 1;
    
        then
    
        
    
    A15: d 
    in ( 
    dom (g 
    . 1)) by 
    A14,
    Def3;
    
        then (
    local_overlapping (V,A,d,(f 
    . d),v)) 
    in ( 
    dom p) by 
    A1,
    Th26,
    A13,
    A3;
    
        hence thesis by
    A5,
    A12,
    A3,
    A15;
    
      end;
    
      let a be
    object;
    
      assume
    
      
    
    A16: a 
    in ( 
    dom S1); 
    
      then
    
      consider d such that
    
      
    
    A17: d 
    = a and ( 
    local_overlapping (V,A,d,(f 
    . d),v)) 
    in ( 
    dom p) and 
    
      
    
    A18: d 
    in ( 
    dom f) by 
    A5;
    
      (
    NDentry (g,X,d)) 
    = ( 
    naming (V,A,v,(f 
    . d))) by 
    A1,
    A18,
    Th26;
    
      
    
      hence (S2
    . a) 
    = (p 
    . ( 
    local_overlapping (V,A,d,(f 
    . d),v))) by 
    A7,
    A16,
    A17,
    A2,
    Th33
    
      .= (S1
    . a) by 
    A16,
    A17,
    Th34;
    
    end;
    
    ::$Notion-Name
    
    definition
    
      let V, A;
    
      let g be V, A
    -FPrg-yielding  
    FinSequence;
    
      let X be
    Function;
    
      defpred
    
    A[
    object] means $1
    in_doms g; 
    
      deffunc
    
    D(
    Function) = { d where d be
    TypeSCNominativeData of V, A : ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom $1) & 
    A[d] };
    
      :: 
    
    NOMIN_2:def13
    
      func
    
    SCFsuperpos (g,X) -> 
    Function of 
    [:(
    FPrg ( 
    ND (V,A))), ( 
    product g):], ( 
    FPrg ( 
    ND (V,A))) means 
    
      :
    
    Def13: for f be 
    SCBinominativeFunction of V, A holds for x be 
    Element of ( 
    product g) holds ( 
    dom (it 
    . (f,x))) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom f) & d 
    in_doms g } & for d be 
    TypeSCNominativeData of V, A st d 
    in_doms g holds ((it 
    . (f,x)),d) 
    =~ (f,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
      existence
    
      proof
    
        defpred
    
    P[
    object, 
    object, 
    object] means for f be
    SCBinominativeFunction of V, A holds for x be 
    Element of ( 
    product g) st $1 
    = f & $2 
    = x holds for h be 
    Function st h 
    = $3 holds ( 
    dom h) 
    =  
    D(f) & for d be
    TypeSCNominativeData of V, A holds d 
    in ( 
    dom h) implies (h 
    . d) 
    = (f 
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
        
    
        
    
    A2: for x1,x2 be 
    object st x1 
    in ( 
    FPrg ( 
    ND (V,A))) & x2 
    in ( 
    product g) holds ex y be 
    object st y 
    in ( 
    FPrg ( 
    ND (V,A))) & 
    P[x1, x2, y]
    
        proof
    
          let x1,x2 be
    object;
    
          assume x1
    in ( 
    FPrg ( 
    ND (V,A))); 
    
          then
    
          reconsider X1 = x1 as
    PartFunc of ( 
    ND (V,A)), ( 
    ND (V,A)) by 
    PARTFUN1: 46;
    
          assume x2
    in ( 
    product g); 
    
          defpred
    
    Q[
    object, 
    object] means for d be
    TypeSCNominativeData of V, A st d 
    = $1 holds ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom X1) implies $2 
    = (X1 
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
          
    
          
    
    A3: for a be 
    object st a 
    in  
    D(X1) holds ex b be
    object st b 
    in ( 
    ND (V,A)) & 
    Q[a, b]
    
          proof
    
            let a be
    object;
    
            assume a
    in  
    D(X1);
    
            then
    
            consider d be
    TypeSCNominativeData of V, A such that 
    
            
    
    A4: d 
    = a & ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom X1) & 
    A[d];
    
            take (X1
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
            thus thesis by
    A4,
    PARTFUN1: 4;
    
          end;
    
          consider K be
    Function such that 
    
          
    
    A5: ( 
    dom K) 
    =  
    D(X1) and
    
          
    
    A6: ( 
    rng K) 
    c= ( 
    ND (V,A)) and 
    
          
    
    A7: for x be 
    object st x 
    in  
    D(X1) holds
    Q[x, (K
    . x)] from 
    FUNCT_1:sch 6(
    A3);
    
          take K;
    
          
    D(X1)
    c= ( 
    ND (V,A)) 
    
          proof
    
            let x;
    
            assume x
    in  
    D(X1);
    
            then ex d be
    TypeSCNominativeData of V, A st d 
    = x & ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom X1) & 
    A[d];
    
            hence thesis;
    
          end;
    
          then K is
    PartFunc of ( 
    ND (V,A)), ( 
    ND (V,A)) by 
    A5,
    A6,
    RELSET_1: 4;
    
          hence K
    in ( 
    FPrg ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
          let f be
    SCBinominativeFunction of V, A; 
    
          let q be
    Element of ( 
    product g) such that 
    
          
    
    A8: x1 
    = f & x2 
    = q; 
    
          let h be
    Function such that 
    
          
    
    A9: h 
    = K; 
    
          thus (
    dom h) 
    =  
    D(f) by
    A5,
    A8,
    A9;
    
          let d be
    TypeSCNominativeData of V, A; 
    
          assume
    
          
    
    A10: d 
    in ( 
    dom h); 
    
          then ex d1 be
    TypeSCNominativeData of V, A st d1 
    = d & ( 
    global_overlapping (V,A,d1,( 
    NDentry (g,X,d1)))) 
    in ( 
    dom X1) & 
    A[d1] by
    A5,
    A9;
    
          hence (h
    . d) 
    = (f 
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) by 
    A5,
    A7,
    A8,
    A9,
    A10;
    
        end;
    
        consider F be
    Function of 
    [:(
    FPrg ( 
    ND (V,A))), ( 
    product g):], ( 
    FPrg ( 
    ND (V,A))) such that 
    
        
    
    A11: for x,y be 
    object st x 
    in ( 
    FPrg ( 
    ND (V,A))) & y 
    in ( 
    product g) holds 
    P[x, y, (F
    . (x,y))] from 
    BINOP_1:sch 1(
    A2);
    
        take F;
    
        let f be
    SCBinominativeFunction of V, A; 
    
        let q be
    Element of ( 
    product g); 
    
        
    
        
    
    A12: f 
    in ( 
    FPrg ( 
    ND (V,A))) & q 
    in ( 
    product g) by 
    A1,
    PARTFUN1: 45;
    
        hence
    
        
    
    A13: ( 
    dom (F 
    . (f,q))) 
    =  
    D(f) by
    A11;
    
        let d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A14: 
    A[d];
    
        thus d
    in ( 
    dom (F 
    . (f,q))) iff ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom f) 
    
        proof
    
          hereby
    
            assume d
    in ( 
    dom (F 
    . (f,q))); 
    
            then ex d1 be
    TypeSCNominativeData of V, A st d 
    = d1 & ( 
    global_overlapping (V,A,d1,( 
    NDentry (g,X,d1)))) 
    in ( 
    dom f) & 
    A[d1] by
    A13;
    
            hence (
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom f); 
    
          end;
    
          thus thesis by
    A13,
    A14;
    
        end;
    
        thus thesis by
    A11,
    A12;
    
      end;
    
      uniqueness
    
      proof
    
        let F,G be
    Function of 
    [:(
    FPrg ( 
    ND (V,A))), ( 
    product g):], ( 
    FPrg ( 
    ND (V,A))) such that 
    
        
    
    A15: for f be 
    SCBinominativeFunction of V, A holds for x be 
    Element of ( 
    product g) holds ( 
    dom (F 
    . (f,x))) 
    =  
    D(f) & for d be
    TypeSCNominativeData of V, A st d 
    in_doms g holds ((F 
    . (f,x)),d) 
    =~ (f,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) and 
    
        
    
    A16: for f be 
    SCBinominativeFunction of V, A holds for x be 
    Element of ( 
    product g) holds ( 
    dom (G 
    . (f,x))) 
    =  
    D(f) & for d be
    TypeSCNominativeData of V, A st d 
    in_doms g holds ((G 
    . (f,x)),d) 
    =~ (f,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))); 
    
        let a,b be
    set;
    
        assume a
    in ( 
    FPrg ( 
    ND (V,A))); 
    
        then
    
        reconsider f = a as
    SCBinominativeFunction of V, A by 
    PARTFUN1: 46;
    
        assume
    
        
    
    A17: b 
    in ( 
    product g); 
    
        then
    
        
    
    A18: ( 
    dom (F 
    . (a,b))) 
    =  
    D(f) by
    A15;
    
        hence (
    dom (F 
    . (a,b))) 
    = ( 
    dom (G 
    . (a,b))) by 
    A16,
    A17;
    
        let z be
    object;
    
        assume z
    in ( 
    dom (F 
    . (a,b))); 
    
        then
    
        consider d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A19: z 
    = d & ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom f) & 
    A[d] by
    A18;
    
        
    
        
    
    A20: ((G 
    . (f,b)),d) 
    =~ (f,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) by 
    A16,
    A17,
    A19;
    
        ((F
    . (f,b)),d) 
    =~ (f,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) by 
    A15,
    A17,
    A19;
    
        hence thesis by
    A19,
    A20;
    
      end;
    
    end
    
    ::$Notion-Name
    
    definition
    
      let V, A, f;
    
      let g be V, A
    -FPrg-yielding  
    FinSequence;
    
      let X be
    Function;
    
      let x be
    Element of ( 
    product g); 
    
      :: 
    
    NOMIN_2:def14
    
      func
    
    SC_Fsuperpos (f,x,X) -> 
    SCBinominativeFunction of V, A equals 
    
      :
    
    Def14: (( 
    SCFsuperpos (g,X)) 
    . (f,x)); 
    
      coherence
    
      proof
    
        f
    in ( 
    FPrg ( 
    ND (V,A))) & x 
    in ( 
    product g) by 
    A1,
    PARTFUN1: 45;
    
        hence thesis by
    PARTFUN1: 46,
    BINOP_1: 17;
    
      end;
    
    end
    
    theorem :: 
    
    NOMIN_2:37
    
    
    
    
    
    Th36: for g be V, A 
    -FPrg-yielding  
    FinSequence st ( 
    product g) 
    <>  
    {} holds for x be 
    Element of ( 
    product g) st d 
    in ( 
    dom ( 
    SC_Fsuperpos (f,x,X))) holds d 
    in_doms g & (( 
    SC_Fsuperpos (f,x,X)) 
    . d) 
    = (f 
    . ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) 
    
    proof
    
      let g be V, A
    -FPrg-yielding  
    FinSequence such that 
    
      
    
    A1: ( 
    product g) 
    <>  
    {} ; 
    
      let x be
    Element of ( 
    product g) such that 
    
      
    
    A2: d 
    in ( 
    dom ( 
    SC_Fsuperpos (f,x,X))); 
    
      
    
      
    
    A3: ( 
    dom (( 
    SCFsuperpos (g,X)) 
    . (f,x))) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d)))) 
    in ( 
    dom f) & d 
    in_doms g } by 
    A1,
    Def13;
    
      (
    SC_Fsuperpos (f,x,X)) 
    = (( 
    SCFsuperpos (g,X)) 
    . (f,x)) by 
    A1,
    Def14;
    
      then
    
      
    
    A4: ex d1 be 
    TypeSCNominativeData of V, A st d1 
    = d & (( 
    global_overlapping (V,A,d1,( 
    NDentry (g,X,d1)))) 
    in ( 
    dom f) & d1 
    in_doms g) by 
    A2,
    A3;
    
      then (((
    SCFsuperpos (g,X)) 
    . (f,x)),d) 
    =~ (f,( 
    global_overlapping (V,A,d,( 
    NDentry (g,X,d))))) by 
    A1,
    Def13;
    
      hence thesis by
    A1,
    A4,
    Def14;
    
    end;
    
    ::$Notion-Name
    
    definition
    
      let V, A, v;
    
      deffunc
    
    D(
    Function, 
    Function) = { d where d be
    TypeSCNominativeData of V, A : ( 
    local_overlapping (V,A,d,($2 
    . d),v)) 
    in ( 
    dom $1) & d 
    in ( 
    dom $2) }; 
    
      :: 
    
    NOMIN_2:def15
    
      func
    
    SCFsuperpos (V,A,v) -> 
    Function of 
    [:(
    FPrg ( 
    ND (V,A))), ( 
    FPrg ( 
    ND (V,A))):], ( 
    FPrg ( 
    ND (V,A))) means 
    
      :
    
    Def15: for f,g be 
    SCBinominativeFunction of V, A holds ( 
    dom (it 
    . (f,g))) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    local_overlapping (V,A,d,(g 
    . d),v)) 
    in ( 
    dom f) & d 
    in ( 
    dom g) } & for d be 
    TypeSCNominativeData of V, A st d 
    in ( 
    dom g) holds ((it 
    . (f,g)),d) 
    =~ (f,( 
    local_overlapping (V,A,d,(g 
    . d),v))); 
    
      existence
    
      proof
    
        defpred
    
    P[
    object, 
    object, 
    object] means for f,g be
    SCBinominativeFunction of V, A st $1 
    = f & $2 
    = g holds for F be 
    Function st F 
    = $3 holds ( 
    dom F) 
    =  
    D(f,g) & for d be
    TypeSCNominativeData of V, A holds d 
    in ( 
    dom F) implies (F 
    . d) 
    = (f 
    . ( 
    local_overlapping (V,A,d,(g 
    . d),v))); 
    
        
    
        
    
    A1: for x1,x2 be 
    object st x1 
    in ( 
    FPrg ( 
    ND (V,A))) & x2 
    in ( 
    FPrg ( 
    ND (V,A))) holds ex y be 
    object st y 
    in ( 
    FPrg ( 
    ND (V,A))) & 
    P[x1, x2, y]
    
        proof
    
          let x1,x2 be
    object;
    
          assume x1
    in ( 
    FPrg ( 
    ND (V,A))); 
    
          then
    
          reconsider X1 = x1 as
    PartFunc of ( 
    ND (V,A)), ( 
    ND (V,A)) by 
    PARTFUN1: 46;
    
          assume x2
    in ( 
    FPrg ( 
    ND (V,A))); 
    
          then
    
          reconsider X2 = x2 as
    PartFunc of ( 
    ND (V,A)), ( 
    ND (V,A)) by 
    PARTFUN1: 46;
    
          defpred
    
    Q[
    object, 
    object] means for d be
    TypeSCNominativeData of V, A st d 
    = $1 holds ( 
    local_overlapping (V,A,d,(X2 
    . d),v)) 
    in ( 
    dom X1) implies $2 
    = (X1 
    . ( 
    local_overlapping (V,A,d,(X2 
    . d),v))); 
    
          
    
          
    
    A2: for a be 
    object st a 
    in  
    D(X1,X2) holds ex b be
    object st b 
    in ( 
    ND (V,A)) & 
    Q[a, b]
    
          proof
    
            let a be
    object;
    
            assume a
    in  
    D(X1,X2);
    
            then
    
            consider d be
    TypeSCNominativeData of V, A such that 
    
            
    
    A3: d 
    = a & ( 
    local_overlapping (V,A,d,(X2 
    . d),v)) 
    in ( 
    dom X1) & d 
    in ( 
    dom X2); 
    
            take (X1
    . ( 
    local_overlapping (V,A,d,(X2 
    . d),v))); 
    
            thus thesis by
    A3,
    PARTFUN1: 4;
    
          end;
    
          consider K be
    Function such that 
    
          
    
    A4: ( 
    dom K) 
    =  
    D(X1,X2) and
    
          
    
    A5: ( 
    rng K) 
    c= ( 
    ND (V,A)) and 
    
          
    
    A6: for x be 
    object st x 
    in  
    D(X1,X2) holds
    Q[x, (K
    . x)] from 
    FUNCT_1:sch 6(
    A2);
    
          take K;
    
          
    D(X1,X2)
    c= ( 
    ND (V,A)) 
    
          proof
    
            let x;
    
            assume x
    in  
    D(X1,X2);
    
            then ex d be
    TypeSCNominativeData of V, A st d 
    = x & ( 
    local_overlapping (V,A,d,(X2 
    . d),v)) 
    in ( 
    dom X1) & d 
    in ( 
    dom X2); 
    
            hence thesis;
    
          end;
    
          then K is
    PartFunc of ( 
    ND (V,A)), ( 
    ND (V,A)) by 
    A4,
    A5,
    RELSET_1: 4;
    
          hence K
    in ( 
    FPrg ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
          let f,g be
    SCBinominativeFunction of V, A such that 
    
          
    
    A7: x1 
    = f & x2 
    = g; 
    
          let F be
    Function such that 
    
          
    
    A8: F 
    = K; 
    
          thus (
    dom F) 
    =  
    D(f,g) by
    A4,
    A7,
    A8;
    
          let d be
    TypeSCNominativeData of V, A; 
    
          assume
    
          
    
    A9: d 
    in ( 
    dom F); 
    
          then ex d1 be
    TypeSCNominativeData of V, A st d1 
    = d & ( 
    local_overlapping (V,A,d1,(X2 
    . d1),v)) 
    in ( 
    dom X1) & d1 
    in ( 
    dom X2) by 
    A4,
    A8;
    
          hence thesis by
    A4,
    A6,
    A7,
    A8,
    A9;
    
        end;
    
        consider F be
    Function of 
    [:(
    FPrg ( 
    ND (V,A))), ( 
    FPrg ( 
    ND (V,A))):], ( 
    FPrg ( 
    ND (V,A))) such that 
    
        
    
    A10: for x,y be 
    object st x 
    in ( 
    FPrg ( 
    ND (V,A))) & y 
    in ( 
    FPrg ( 
    ND (V,A))) holds 
    P[x, y, (F
    . (x,y))] from 
    BINOP_1:sch 1(
    A1);
    
        take F;
    
        let f, g;
    
        
    
        
    
    A11: f 
    in ( 
    FPrg ( 
    ND (V,A))) & g 
    in ( 
    FPrg ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
        hence
    
        
    
    A12: ( 
    dom (F 
    . (f,g))) 
    =  
    D(f,g) by
    A10;
    
        let d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A13: d 
    in ( 
    dom g); 
    
        thus d
    in ( 
    dom (F 
    . (f,g))) iff ( 
    local_overlapping (V,A,d,(g 
    . d),v)) 
    in ( 
    dom f) 
    
        proof
    
          hereby
    
            assume d
    in ( 
    dom (F 
    . (f,g))); 
    
            then ex d1 be
    TypeSCNominativeData of V, A st d 
    = d1 & ( 
    local_overlapping (V,A,d1,(g 
    . d1),v)) 
    in ( 
    dom f) & d1 
    in ( 
    dom g) by 
    A12;
    
            hence (
    local_overlapping (V,A,d,(g 
    . d),v)) 
    in ( 
    dom f); 
    
          end;
    
          thus thesis by
    A12,
    A13;
    
        end;
    
        thus thesis by
    A10,
    A11;
    
      end;
    
      uniqueness
    
      proof
    
        let F,G be
    Function of 
    [:(
    FPrg ( 
    ND (V,A))), ( 
    FPrg ( 
    ND (V,A))):], ( 
    FPrg ( 
    ND (V,A))) such that 
    
        
    
    A14: for f,g be 
    SCBinominativeFunction of V, A holds ( 
    dom (F 
    . (f,g))) 
    =  
    D(f,g) & for d be
    TypeSCNominativeData of V, A st d 
    in ( 
    dom g) holds ((F 
    . (f,g)),d) 
    =~ (f,( 
    local_overlapping (V,A,d,(g 
    . d),v))) and 
    
        
    
    A15: for f,g be 
    SCBinominativeFunction of V, A holds ( 
    dom (G 
    . (f,g))) 
    =  
    D(f,g) & for d be
    TypeSCNominativeData of V, A st d 
    in ( 
    dom g) holds ((G 
    . (f,g)),d) 
    =~ (f,( 
    local_overlapping (V,A,d,(g 
    . d),v))); 
    
        let a,b be
    set;
    
        assume a
    in ( 
    FPrg ( 
    ND (V,A))); 
    
        then
    
        reconsider f = a as
    SCBinominativeFunction of V, A by 
    PARTFUN1: 46;
    
        assume b
    in ( 
    FPrg ( 
    ND (V,A))); 
    
        then
    
        reconsider g = b as
    SCBinominativeFunction of V, A by 
    PARTFUN1: 46;
    
        
    
        
    
    A16: ( 
    dom (F 
    . (a,b))) 
    =  
    D(f,g) by
    A14;
    
        hence (
    dom (F 
    . (a,b))) 
    = ( 
    dom (G 
    . (a,b))) by 
    A15;
    
        let z be
    object;
    
        assume z
    in ( 
    dom (F 
    . (a,b))); 
    
        then
    
        consider d be
    TypeSCNominativeData of V, A such that 
    
        
    
    A17: z 
    = d & ( 
    local_overlapping (V,A,d,(g 
    . d),v)) 
    in ( 
    dom f) and 
    
        
    
    A18: d 
    in ( 
    dom g) by 
    A16;
    
        
    
        
    
    A19: ((G 
    . (f,g)),d) 
    =~ (f,( 
    local_overlapping (V,A,d,(g 
    . d),v))) by 
    A15,
    A18;
    
        ((F
    . (f,g)),d) 
    =~ (f,( 
    local_overlapping (V,A,d,(g 
    . d),v))) by 
    A14,
    A18;
    
        hence thesis by
    A17,
    A19;
    
      end;
    
    end
    
    ::$Notion-Name
    
    definition
    
      let V, A, v, f, g;
    
      :: 
    
    NOMIN_2:def16
    
      func
    
    SC_Fsuperpos (f,g,v) -> 
    SCBinominativeFunction of V, A equals (( 
    SCFsuperpos (V,A,v)) 
    . (f,g)); 
    
      coherence
    
      proof
    
        f
    in ( 
    FPrg ( 
    ND (V,A))) & g 
    in ( 
    FPrg ( 
    ND (V,A))) by 
    PARTFUN1: 45;
    
        hence thesis by
    PARTFUN1: 46,
    BINOP_1: 17;
    
      end;
    
    end
    
    theorem :: 
    
    NOMIN_2:38
    
    
    
    
    
    Th37: d 
    in ( 
    dom ( 
    SC_Fsuperpos (f,g,v))) implies (( 
    SC_Fsuperpos (f,g,v)) 
    . d) 
    = (f 
    . ( 
    local_overlapping (V,A,d,(g 
    . d),v))) & d 
    in ( 
    dom g) 
    
    proof
    
      set F = (
    SC_Fsuperpos (f,g,v)); 
    
      assume
    
      
    
    A1: d 
    in ( 
    dom F); 
    
      (
    dom F) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    local_overlapping (V,A,d,(g 
    . d),v)) 
    in ( 
    dom f) & d 
    in ( 
    dom g) } by 
    Def15;
    
      then
    
      
    
    A2: ex d1 be 
    TypeSCNominativeData of V, A st d1 
    = d & (( 
    local_overlapping (V,A,d1,(g 
    . d1),v)) 
    in ( 
    dom f) & d1 
    in ( 
    dom g)) by 
    A1;
    
      (F,d)
    =~ (f,( 
    local_overlapping (V,A,d,(g 
    . d),v))) by 
    A2,
    Def15;
    
      hence thesis by
    A2;
    
    end;
    
    theorem :: 
    
    NOMIN_2:39
    
    for x be
    Element of ( 
    product  
    <*g*>) st v
    in V & ( 
    product  
    <*g*>)
    <>  
    {} holds ( 
    SC_Fsuperpos (f,g,v)) 
    = ( 
    SC_Fsuperpos (f,x, 
    <*v*>))
    
    proof
    
      set G =
    <*g*>;
    
      let x be
    Element of ( 
    product G); 
    
      assume that
    
      
    
    A1: v 
    in V and 
    
      
    
    A2: ( 
    product G) 
    <>  
    {} ; 
    
      set X =
    <*v*>;
    
      set S1 = (
    SC_Fsuperpos (f,g,v)); 
    
      set S2 = (
    SC_Fsuperpos (f,x,X)); 
    
      defpred
    
    A[
    object] means $1
    in_doms G; 
    
      
    
      
    
    A3: (G 
    . 1) 
    = g by 
    FINSEQ_1: 40;
    
      
    
      
    
    A4: ( 
    dom G) 
    =  
    {1} by
    FINSEQ_1: 2,
    FINSEQ_1: 38;
    
      
    
      
    
    A5: ( 
    dom S1) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    local_overlapping (V,A,d,(g 
    . d),v)) 
    in ( 
    dom f) & d 
    in ( 
    dom g) } by 
    Def15;
    
      S2
    = (( 
    SCFsuperpos (G,X)) 
    . (f,x)) by 
    A2,
    Def14;
    
      then
    
      
    
    A6: ( 
    dom S2) 
    = { d where d be 
    TypeSCNominativeData of V, A : ( 
    global_overlapping (V,A,d,( 
    NDentry (G,X,d)))) 
    in ( 
    dom f) & 
    A[d] } by
    A2,
    Def13;
    
      thus
    
      
    
    A7: ( 
    dom S1) 
    = ( 
    dom S2) 
    
      proof
    
        thus (
    dom S1) 
    c= ( 
    dom S2) 
    
        proof
    
          let a be
    object;
    
          assume a
    in ( 
    dom S1); 
    
          then
    
          consider d such that
    
          
    
    A8: d 
    = a and 
    
          
    
    A9: ( 
    local_overlapping (V,A,d,(g 
    . d),v)) 
    in ( 
    dom f) and 
    
          
    
    A10: d 
    in ( 
    dom g) by 
    A5;
    
          
    
          
    
    A11: 
    A[d]
    
          proof
    
            let x;
    
            thus thesis by
    A10,
    A3,
    A4,
    TARSKI:def 1;
    
          end;
    
          (
    NDentry (G,X,d)) 
    = ( 
    naming (V,A,v,(g 
    . d))) by 
    A1,
    A10,
    Th26;
    
          hence thesis by
    A8,
    A9,
    A11,
    A6;
    
        end;
    
        let a be
    object;
    
        assume a
    in ( 
    dom S2); 
    
        then
    
        consider d such that
    
        
    
    A12: a 
    = d and 
    
        
    
    A13: ( 
    global_overlapping (V,A,d,( 
    NDentry (G,X,d)))) 
    in ( 
    dom f) and 
    
        
    
    A14: 
    A[d] by
    A6;
    
        1
    in ( 
    dom G) by 
    A4,
    TARSKI:def 1;
    
        then
    
        
    
    A15: d 
    in ( 
    dom (G 
    . 1)) by 
    A14,
    Def3;
    
        then (
    local_overlapping (V,A,d,(g 
    . d),v)) 
    in ( 
    dom f) by 
    A1,
    Th26,
    A13,
    A3;
    
        hence thesis by
    A5,
    A12,
    A3,
    A15;
    
      end;
    
      let a be
    object;
    
      assume
    
      
    
    A16: a 
    in ( 
    dom S1); 
    
      then
    
      consider d such that
    
      
    
    A17: d 
    = a and ( 
    local_overlapping (V,A,d,(g 
    . d),v)) 
    in ( 
    dom f) and 
    
      
    
    A18: d 
    in ( 
    dom g) by 
    A5;
    
      (
    NDentry (G,X,d)) 
    = ( 
    naming (V,A,v,(g 
    . d))) by 
    A1,
    A18,
    Th26;
    
      
    
      hence (S2
    . a) 
    = (f 
    . ( 
    local_overlapping (V,A,d,(g 
    . d),v))) by 
    A7,
    A16,
    A17,
    A2,
    Th36
    
      .= (S1
    . a) by 
    A16,
    A17,
    Th37;
    
    end;
    
    ::$Notion-Name
    
    definition
    
      let V, A, v;
    
      defpred
    
    P[
    object] means ex d be
    NonatomicND of V, A st d 
    = $1 & ( 
    denaming (v,d)) 
    in (( 
    ND (V,A)) 
    \ A); 
    
      :: 
    
    NOMIN_2:def17
    
      func
    
    SC_name_check (V,A,v) -> 
    SCPartialNominativePredicate of V, A means ( 
    dom it ) 
    = (( 
    ND (V,A)) 
    \ A) & for d be 
    NonatomicND of V, A st d 
    in ( 
    dom it ) holds (( 
    denaming (v,d)) 
    in ( 
    dom it ) implies (it 
    . d) 
    =  
    TRUE ) & ( not ( 
    denaming (v,d)) 
    in ( 
    dom it ) implies (it 
    . d) 
    =  
    FALSE ); 
    
      existence
    
      proof
    
        
    
        
    
    A1: (( 
    ND (V,A)) 
    \ A) 
    c= ( 
    ND (V,A)); 
    
        consider p be
    SCPartialNominativePredicate of V, A such that 
    
        
    
    A2: ( 
    dom p) 
    = (( 
    ND (V,A)) 
    \ A) and 
    
        
    
    A3: for d be 
    object st d 
    in ( 
    dom p) holds ( 
    P[d] implies (p
    . d) 
    =  
    TRUE ) & ( not 
    P[d] implies (p
    . d) 
    =  
    FALSE ) from 
    PARTPR_2:sch 1(
    A1);
    
        take p;
    
        thus (
    dom p) 
    = (( 
    ND (V,A)) 
    \ A) by 
    A2;
    
        let d be
    NonatomicND of V, A such that 
    
        
    
    A4: d 
    in ( 
    dom p); 
    
        thus (
    denaming (v,d)) 
    in ( 
    dom p) implies (p 
    . d) 
    =  
    TRUE by 
    A2,
    A3,
    A4;
    
        assume not (
    denaming (v,d)) 
    in ( 
    dom p); 
    
        then not
    P[d] by
    A2;
    
        hence thesis by
    A3,
    A4;
    
      end;
    
      uniqueness
    
      proof
    
        let F,G be
    SCPartialNominativePredicate of V, A such that 
    
        
    
    A5: ( 
    dom F) 
    = (( 
    ND (V,A)) 
    \ A) and 
    
        
    
    A6: for d be 
    NonatomicND of V, A st d 
    in ( 
    dom F) holds (( 
    denaming (v,d)) 
    in ( 
    dom F) implies (F 
    . d) 
    =  
    TRUE ) & ( not ( 
    denaming (v,d)) 
    in ( 
    dom F) implies (F 
    . d) 
    =  
    FALSE ) and 
    
        
    
    A7: ( 
    dom G) 
    = (( 
    ND (V,A)) 
    \ A) and 
    
        
    
    A8: for d be 
    NonatomicND of V, A st d 
    in ( 
    dom G) holds (( 
    denaming (v,d)) 
    in ( 
    dom G) implies (G 
    . d) 
    =  
    TRUE ) & ( not ( 
    denaming (v,d)) 
    in ( 
    dom G) implies (G 
    . d) 
    =  
    FALSE ); 
    
        thus (
    dom F) 
    = ( 
    dom G) by 
    A5,
    A7;
    
        let x;
    
        assume
    
        
    
    A9: x 
    in ( 
    dom F); 
    
        then
    
        reconsider d = x as
    NonatomicND of V, A by 
    A5,
    NOMIN_1: 43;
    
        per cases ;
    
          suppose
    
          
    
    A10: ( 
    denaming (v,d)) 
    in ( 
    dom F); 
    
          
    
          hence (F
    . x) 
    =  
    TRUE by 
    A6,
    A9
    
          .= (G
    . x) by 
    A5,
    A7,
    A8,
    A9,
    A10;
    
        end;
    
          suppose
    
          
    
    A11: not ( 
    denaming (v,d)) 
    in ( 
    dom F); 
    
          
    
          hence (F
    . x) 
    =  
    FALSE by 
    A6,
    A9
    
          .= (G
    . x) by 
    A5,
    A7,
    A8,
    A9,
    A11;
    
        end;
    
      end;
    
    end