Bob is rough. Dave is big. Fiona is green. Fiona is young. Gary is big. Gary is green. Gary is nice. All big things are young. If something is young then it is nice. Nice things are green. If Bob is not young then Bob is smart. If something is red then it is smart. If something is rough and young then it is red. If something is nice and green then it is red. If Bob is smart and Bob is big then Bob is green.
Bob is rough.
("Bob" "is" "rough" "+")
Dave is big.
("Dave" "is" "big" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is nice.
("Gary" "is" "nice" "+")
All big things are young.
((("something" "is" "big" "+")) -> ("something" "is" "young" "+"))
If something is young then it is nice.
((("something" "is" "young" "+")) -> ("something" "is" "nice" "+"))
Nice things are green.
((("something" "is" "nice" "+")) -> ("something" "is" "green" "+"))
If Bob is not young then Bob is smart.
((("Bob" "is" "young" "~")) -> ("Bob" "is" "smart" "+"))
If something is red then it is smart.
((("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
If something is rough and young then it is red.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
If something is nice and green then it is red.
((("something" "is" "nice" "+") ("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
If Bob is smart and Bob is big then Bob is green.
((("Bob" "is" "smart" "+") ("Bob" "is" "big" "+")) -> ("Bob" "is" "green" "+"))
Gary is big.
True
1
proof
[(triple5)]
("Gary" "is" "big" "+")
triple5
Bob is not rough.
False
1
inv-proof
[(triple1)]
("Bob" "is" "rough" "-")
triple1
Gary is red.
True
3
proof
[(((triple7 triple6) -> rule7) OR ((triple7 ((triple7) -> rule3)) -> rule7) OR ((((((triple5) -> rule1)) -> rule2) triple6) -> rule7) OR ((((((triple5) -> rule1)) -> rule2) ((triple7) -> rule3)) -> rule7) OR ((triple7 ((((((triple5) -> rule1)) -> rule2)) -> rule3)) -> rule7) OR ((((((triple5) -> rule1)) -> rule2) ((((((triple5) -> rule1)) -> rule2)) -> rule3)) -> rule7))]
("Gary" "is" "red" "+")
((triple7 triple6) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple7 ((triple7) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
((((((triple5) -> (rule1 % int3))) -> (rule2 % int2)) triple6) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
((((((triple5) -> (rule1 % int4))) -> (rule2 % int3)) ((triple7) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((triple7 ((((((triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((((triple5) -> (rule1 % int4))) -> (rule2 % int3)) ((((((triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is not young.
False
2
inv-proof
[(((triple5) -> rule1))]
("Gary" "is" "young" "-")
((triple5) -> (rule1 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Fiona is red.
True
4
proof
[(((((triple4) -> rule2) triple3) -> rule7) OR ((((triple4) -> rule2) ((((triple4) -> rule2)) -> rule3)) -> rule7))]
("Fiona" "is" "red" "+")
((((triple4) -> (rule2 % int2)) triple3) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple4) -> (rule2 % int3)) ((((triple4) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Gary is not smart.
False
4
inv-proof
[(((((triple7 triple6) -> rule7)) -> rule5) OR ((((triple7 ((triple7) -> rule3)) -> rule7)) -> rule5) OR ((((((((triple5) -> rule1)) -> rule2) triple6) -> rule7)) -> rule5) OR ((((((((triple5) -> rule1)) -> rule2) ((triple7) -> rule3)) -> rule7)) -> rule5) OR ((((triple7 ((((((triple5) -> rule1)) -> rule2)) -> rule3)) -> rule7)) -> rule5) OR ((((((((triple5) -> rule1)) -> rule2) ((((((triple5) -> rule1)) -> rule2)) -> rule3)) -> rule7)) -> rule5))]
("Gary" "is" "smart" "-")
((((triple7 triple6) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((triple7 ((triple7) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
((((((((triple5) -> (rule1 % int4))) -> (rule2 % int3)) triple6) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((((((triple5) -> (rule1 % int5))) -> (rule2 % int4)) ((triple7) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
int5
((((triple7 ((((((triple5) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
int5
((((((((triple5) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple5) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
int5
Dave is green.
True
4
proof
[(((((((triple2) -> rule1)) -> rule2)) -> rule3))]
("Dave" "is" "green" "+")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is not green.
False
4
inv-proof
[(((((((triple2) -> rule1)) -> rule2)) -> rule3))]
("Dave" "is" "green" "-")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is red.
True
8
proof
[(((((((triple2) -> rule1)) -> rule2) ((((((triple2) -> rule1)) -> rule2)) -> rule3)) -> rule7))]
("Dave" "is" "red" "+")
((((((triple2) -> (rule1 % int4))) -> (rule2 % int3)) ((((((triple2) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is not red.
False
8
inv-proof
[(((((((triple2) -> rule1)) -> rule2) ((((((triple2) -> rule1)) -> rule2)) -> rule3)) -> rule7))]
("Dave" "is" "red" "-")
((((((triple2) -> (rule1 % int4))) -> (rule2 % int3)) ((((((triple2) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is smart.
True
9
proof
[(((((((((triple2) -> rule1)) -> rule2) ((((((triple2) -> rule1)) -> rule2)) -> rule3)) -> rule7)) -> rule5))]
("Dave" "is" "smart" "+")
((((((((triple2) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple2) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
int5
Dave is not smart.
False
9
inv-proof
[(((((((((triple2) -> rule1)) -> rule2) ((((((triple2) -> rule1)) -> rule2)) -> rule3)) -> rule7)) -> rule5))]
("Dave" "is" "smart" "-")
((((((((triple2) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple2) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
int5
Bob is not green.
Unknown
inv-rconc
[@3: Bob is green.[CWA. Example of deepest failure = (rule3 <- rule2 <- rule1 <- FAIL)]]
("Bob" "is" "green" "-")
Bob is smart.
Unknown
rconc
[@4: Bob is smart.[CWA. Example of deepest failure = (rule5 <- rule7 <- rule2 <- rule1 <- FAIL)]]
("Bob" "is" "smart" "+")
Bob is not young.
Unknown
inv-rconc
[@1: Bob is young.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "young" "-")
Bob is red.
Unknown
rconc
[@3: Bob is red.[CWA. Example of deepest failure = (rule7 <- rule2 <- rule1 <- FAIL)]]
("Bob" "is" "red" "+")
Bob is not nice.
Unknown
inv-rconc
[@2: Bob is nice.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Bob" "is" "nice" "-")
Gary is rough.
Unknown
random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "+")
Fiona is not big.
Unknown
inv-random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
@0: Bob is rough.[(triple1)] Dave is big.[(triple2)] Fiona is green.[(triple3 OR ((((triple4) -> rule2)) -> rule3))] Fiona is young.[(triple4)] Gary is big.[(triple5)] Gary is green.[(triple6 OR ((triple7) -> rule3) OR ((((((triple5) -> rule1)) -> rule2)) -> rule3))] Gary is nice.[(triple7 OR ((((triple5) -> rule1)) -> rule2))] @1: Dave is young.[(((triple2) -> rule1))] Fiona is nice.[(((triple4) -> rule2))] Gary is red.[(((triple7 triple6) -> rule7) OR ((triple7 ((triple7) -> rule3)) -> rule7) OR ((((((triple5) -> rule1)) -> rule2) triple6) -> rule7) OR ((((((triple5) -> rule1)) -> rule2) ((triple7) -> rule3)) -> rule7) OR ((triple7 ((((((triple5) -> rule1)) -> rule2)) -> rule3)) -> rule7) OR ((((((triple5) -> rule1)) -> rule2) ((((((triple5) -> rule1)) -> rule2)) -> rule3)) -> rule7))] Gary is young.[(((triple5) -> rule1))] @2: Dave is nice.[(((((triple2) -> rule1)) -> rule2))] Fiona is red.[(((((triple4) -> rule2) triple3) -> rule7) OR ((((triple4) -> rule2) ((((triple4) -> rule2)) -> rule3)) -> rule7))] Gary is smart.[(((((triple7 triple6) -> rule7)) -> rule5) OR ((((triple7 ((triple7) -> rule3)) -> rule7)) -> rule5) OR ((((((((triple5) -> rule1)) -> rule2) triple6) -> rule7)) -> rule5) OR ((((((((triple5) -> rule1)) -> rule2) ((triple7) -> rule3)) -> rule7)) -> rule5) OR ((((triple7 ((((((triple5) -> rule1)) -> rule2)) -> rule3)) -> rule7)) -> rule5) OR ((((((((triple5) -> rule1)) -> rule2) ((((((triple5) -> rule1)) -> rule2)) -> rule3)) -> rule7)) -> rule5))] @3: Dave is green.[(((((((triple2) -> rule1)) -> rule2)) -> rule3))] Fiona is smart.[(((((((triple4) -> rule2) triple3) -> rule7)) -> rule5) OR ((((((triple4) -> rule2) ((((triple4) -> rule2)) -> rule3)) -> rule7)) -> rule5))] @4: Dave is red.[(((((((triple2) -> rule1)) -> rule2) ((((((triple2) -> rule1)) -> rule2)) -> rule3)) -> rule7))] @5: Dave is smart.[(((((((((triple2) -> rule1)) -> rule2) ((((((triple2) -> rule1)) -> rule2)) -> rule3)) -> rule7)) -> rule5))]
Bob is rough.
("Bob" "is" "rough" "+")
triple1
Dave is big.
("Dave" "is" "big" "+")
triple2
Fiona is green.
("Fiona" "is" "green" "+")
triple3
((((triple4) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
triple4
Gary is big.
("Gary" "is" "big" "+")
triple5
Gary is green.
("Gary" "is" "green" "+")
triple6
((triple7) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((((((triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
triple7
((((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
((triple2) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple4) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple7 triple6) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple7 ((triple7) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
((((((triple5) -> (rule1 % int3))) -> (rule2 % int2)) triple6) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
((((((triple5) -> (rule1 % int4))) -> (rule2 % int3)) ((triple7) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((triple7 ((((((triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((((triple5) -> (rule1 % int4))) -> (rule2 % int3)) ((((((triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
((triple5) -> (rule1 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
((((triple4) -> (rule2 % int2)) triple3) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple4) -> (rule2 % int3)) ((((triple4) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Gary is smart.
("Gary" "is" "smart" "+")
((((triple7 triple6) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
((((triple7 ((triple7) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
((((((((triple5) -> (rule1 % int4))) -> (rule2 % int3)) triple6) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((((((triple5) -> (rule1 % int5))) -> (rule2 % int4)) ((triple7) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
int5
((((triple7 ((((((triple5) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
int5
((((((((triple5) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple5) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
int5
Dave is green.
("Dave" "is" "green" "+")
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
((((((triple4) -> (rule2 % int3)) triple3) -> (rule7 % int2))) -> (rule5 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((((triple4) -> (rule2 % int4)) ((((triple4) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
((((((triple2) -> (rule1 % int4))) -> (rule2 % int3)) ((((((triple2) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is smart.
("Dave" "is" "smart" "+")
((((((((triple2) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple2) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
int5