• ************** miniPROLOG ************** Function Calls

    From Graham Cooper@21:1/5 to All on Fri Feb 24 15:37:35 2023
    I guessed work a bit of code and fluked it so thinking keep it simple so nearly fin all the hard work done

    $d[7] = 'sister tom baron';
    $d[8] = 'sister tom mary';
    $d[9] = 'daughter mary micky';
    $d[10] = 'bro mick wrongy';
    $d[11] = 'bro micky brony';

    i wrote a function

    BRON( P B ) .............. BROTHER of NEICE
    niece P S
    bro S B

    and it called a subfunction NEICE and tests out SISTER tom baron who doesnt have kids and it backtraced to SISTER TOM MARY got it RIGHT!





    ------------------------------------ TRACE -----------------------------------



    bron tom B
    bron - tom - B -
    --------------------------
    QUERY: bron . tom . B

    1*bron * happy ------- tom * P ------- *
    2*bron * neice ------- tom * P ------- * K
    3*bron * friendoffriend ------- tom * A ------- * B
    4*bron * bron ------- tom * P ------- * B



    Head-4 bron P B
    P := tom
    B := B
    B :== B
    gotTail-neice P N

    Tail-4 bron P B
    V[K]
    GETVAR P tom ..... tom
    P =<= tom
    V[K]
    GETVAR P tom ..... tom
    TAILQUERY: neice..tom..N
    QUERY: neice . tom . N

    1*neice * happy ------- tom * P ------- *
    2*neice * neice ------- tom * P ------- * K


    inans
    ANSWER:2
    1 t:neice q:neice
    2 t:P q:P
    P := P
    P :== P
    3 t:K q:N
    K := N
    N :== K
    P====P
    K====N
    QUERY: neice . P . N

    1*neice * happy ------- * P ------- *
    2*neice * neice ------- * P ------- * K



    Head-2 neice P K
    P := P
    P :== P
    K := N
    N :== K
    gotTail-sister P S

    Tail-2 neice P K
    V[K] N
    GETVAR P P ..... P
    P =<= P
    V[K] N
    GETVAR P P ..... P
    TAILQUERY: sister..P..S
    QUERY: sister . P . S

    1*sister * happy ------- * P ------- *
    2*sister * neice ------- * P ------- * K
    3*sister * friendoffriend ------- * A ------- * B
    4*sister * bron ------- * P ------- * B
    5*sister * rich ------- * gaga ------- *
    6*sister * pretty ------- * gaga ------- *
    7*sister * sister ------- * tom ------- * baron


    inans
    ANSWER:7
    1 t:sister q:sister
    2 t:tom q:P
    P :== tom
    3 t:baron q:S
    S :== baron
    V[K] N
    GETVAR S baron ..... baron
    S =<= baron
    V[K] N
    GETVAR S baron ..... baron
    V[K] N
    GETVAR K N ..... *isvar* K
    K =<= K
    V[K] N
    GETVAR K N ..... *isvar* K
    TAILQUERY: daughter..baron..K
    QUERY: daughter . baron . K

    1*daughter * happy ------- baron * P ------- *
    2*daughter * neice ------- baron * P ------- * K
    3*daughter * friendoffriend ------- baron * A ------- * B
    4*daughter * bron ------- baron * P ------- * B
    5*daughter * rich ------- baron * gaga ------- *
    6*daughter * pretty ------- baron * gaga ------- *
    7*daughter * sister ------- baron * tom ------- * baron
    8*daughter * sister ------- baron * tom ------- * mary
    9*daughter * daughter ------- baron * mary ------- * micky
    10*daughter * bro ------- baron * mick ------- * wrongy
    11*daughter * bro ------- baron * micky ------- * brony
    12*daughter * friend ------- baron * max ------- * will
    13*daughter * friend ------- baron * fred ------- * will


    V = ORIGINAL V
    V = ORIGINAL V
    V[K] N
    GETVAR P P ..... P
    P =<= P
    V[K] N
    GETVAR P P ..... P
    TAILQUERY: sister..P..S
    QUERY: sister . P . S

    8*sister * sister ------- * tom ------- * mary


    inans
    ANSWER:8
    1 t:sister q:sister
    2 t:tom q:P
    P :== tom
    3 t:mary q:S
    S :== mary
    V[K] N
    GETVAR S mary ..... mary
    S =<= mary
    V[K] N
    GETVAR S mary ..... mary
    V[K] N
    GETVAR K N ..... *isvar* K
    K =<= K
    V[K] N
    GETVAR K N ..... *isvar* K
    TAILQUERY: daughter..mary..K
    QUERY: daughter . mary . K

    1*daughter * happy ------- mary * P ------- *
    2*daughter * neice ------- mary * P ------- * K
    3*daughter * friendoffriend ------- mary * A ------- * B
    4*daughter * bron ------- mary * P ------- * B
    5*daughter * rich ------- mary * gaga ------- *
    6*daughter * pretty ------- mary * gaga ------- *
    7*daughter * sister ------- mary * tom ------- * baron
    8*daughter * sister ------- mary * tom ------- * mary
    9*daughter * daughter ------- mary * mary ------- * micky


    inans
    ANSWER:9
    1 t:daughter q:daughter
    2 t:mary q:S
    S :== mary
    3 t:micky q:K
    K :== micky
    V = ORIGINAL V
    V = ORIGINAL V
    V[K] micky
    GETVAR N K ..... *isvar* micky
    N =<= micky
    V[K] micky
    GETVAR N K ..... *isvar* micky
    V[K] micky
    GETVAR B B ..... B
    B =<= B
    V[K] micky
    GETVAR B B ..... B
    TAILQUERY: bro..micky..B
    QUERY: bro . micky . B

    1*bro * happy ------- micky * P ------- *
    2*bro * neice ------- micky * P ------- * K
    3*bro * friendoffriend ------- micky * A ------- * B
    4*bro * bron ------- micky * P ------- * B
    5*bro * rich ------- micky * gaga ------- *
    6*bro * pretty ------- micky * gaga ------- *
    7*bro * sister ------- micky * tom ------- * baron
    8*bro * sister ------- micky * tom ------- * mary
    9*bro * daughter ------- micky * mary ------- * micky
    10*bro * bro ------- micky * mick ------- * wrongy
    11*bro * bro ------- micky * micky ------- * brony


    inans
    ANSWER:11
    1 t:bro q:bro
    2 t:micky q:N
    N :== micky
    3 t:brony q:B
    B :== brony
    V = ORIGINAL V
    V = ORIGINAL V

    TRUE

    B = brony

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)