Download
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
language Essence 1.3
 
$ this .param file describes the full-adder example from csplib.org/Problems/prob042
 
$ GATE FUNCTIONS
 
letting OR be function(
    [true, true]   --> true,
    [true, false]  --> true,
    [false, true]  --> true,
    [false, false] --> false
)
letting AND be function(
    [true, true]   --> true,
    [true, false]  --> false,
    [false, true]  --> false,
    [false, false] --> false
)
letting XOR be function(
    [true, true]   --> false,
    [true, false]  --> true,
    [false, true]  --> true,
    [false, false] --> false
)
 
$ OTHER PARAMS
 
 
letting numGates be 5
 
$ define function of each gate
letting gateFuncs be function(
1 --> XOR,
2 --> AND,
3 --> XOR,
4 --> AND,
5 --> OR
)
 
$ define inputs to each gate
$ -1 indicates false external input
$ 0 indicates true external input
$ external inputs CANNOT be faulty
letting gateInpts be function(
1 --> [-1, -1],
2 --> [-1, -1],
3 --> [-1, 1],
4 --> [-1, 1],
5 --> [2, 4]
)
 
$ define observed outputs, not expected outputs
letting finalOutputs be function(
3 --> true,
5 --> false
)