-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexamples.pl
27 lines (23 loc) · 1.23 KB
/
examples.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
% dfa(+TransitionFunction, +InitialState, -AcceptStatesSet)
% --- DFA has initial state InitialState, final states AcceptStatesSet and
% --- transition function TransitionFunction
% fp(+State, +Letter, +State2)
% --- exists transition from State to State2 over Letter
% example(+AutomatonId, +Automaton)
% --- Automaton has AutomatonId Identificator
% correct automata
example(a11, dfa([fp(1,a,1), fp(1,b,2), fp(2,a,2), fp(2,b,1)], 1, [2,1])).
example(a12, dfa([fp(x,a,y), fp(x,b,x), fp(y,a,x), fp(y,b,x)], x, [x,y])).
example(a2, dfa([fp(1,a,2), fp(2,b,1), fp(1,b,3), fp(2,a,3), fp(3,b,3), fp(3,a,3)], 1, [1])).
example(a3, dfa([fp(0,a,1), fp(1,a,0)], 0, [0])).
example(a4, dfa([fp(x,a,y), fp(y,a,z), fp(z,a,x)], x, [x])).
example(a5, dfa([fp(x,a,y), fp(y,a,z), fp(z,a,zz), fp(zz,a,x)], x, [x])).
example(a6, dfa([fp(1,a,1), fp(1,b,2), fp(2,a,2), fp(2,b,1)], 1, [])).
example(a7, dfa([fp(1,a,1), fp(1,b,2), fp(2,a,2), fp(2,b,1), fp(3,b,3), fp(3,a,3)], 1, [3])).
% incorrect automata
example(b1, dfa([fp(1,a,1), fp(1,a,1)], 1, [])).
example(b2, dfa([fp(1,a,1), fp(1,a,2)], 1, [])).
example(b3, dfa([fp(1,a,2)], 1, [])).
example(b4, dfa([fp(1,a,1)], 2, [])).
example(b5, dfa([fp(1,a,1)], 1, [1,2])).
example(b6, dfa([], [], [])).