dawrehxyz icon

valid000

dawrehxyz | PRO | 12/11/16 02:07:38 PM UTC | 0 ⭐ | 7122 👁️ | Never ⏰ | []
Prolog |

880 B

|

None

|

0 👍

/

0 👎

verify(Input) :-
  see(Input), read(T), read(L), read(S), read(F), seen,
  check(T, L, S, [], F, false).
 
check(T, L, S, U, F, Neg) :-
  verifyState(F, S, L, Neg) ;
  (
    (neg(_) = F, neg(T, L, S, U, F, Neg)) ;
    (or(_) = F , or(T, L, S, U, F, Neg)) ;
    (and(_) = F , and(T, L, S, U, F, Neg)) ;
    (ax(_) = F , ax(T, L, S, U, F, Neg)) ;
    (ag(_) = F , ag(T, L, S, U, F, Neg)) ;
    (af(_) = F , af(T, L, S, U, F, Neg)) ;
    (ex(_) = F , ex(T, L, S, U, F, Neg)) ;
    (eg(_) = F , eg(T, L, S, U, F, Neg)) ;
    (ef(_) = F , ef(T, L, S, U, F, Neg))
  ), !.
 
neg(T, L, S, U, F, Neg) :- 
  check(T, L, S, U, F, true).
 
and(T, L, S, U, F, Neg) :- !.
 
or(T, L, S, U, F, Neg) :- !.
 
 
verifyState(F, S, L, Neg) :-
  member([S, A], L),
  (
    (Neg = false, member(F, A)) ; 
    not(member(F, A))
  ).
 
nextState(S, T, NextS) :-
  member([S, A], T),
  member(NextS, A).

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎