Bob is cold. Bob is kind. Bob is young. Erin is blue. Erin is green. Erin is not kind. Erin is nice. Erin is young. Fiona is not green. Fiona is kind. Harry is not blue. Harry is not young. Kind people are blue. Nice, young people are cold. If someone is nice and not green then they are young. If someone is blue then they are nice. If someone is nice and not young then they are round. All cold people are round.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is young.
("Bob" "is" "young" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is not kind.
("Erin" "is" "kind" "-")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is not green.
("Fiona" "is" "green" "-")
Fiona is kind.
("Fiona" "is" "kind" "+")
Harry is not blue.
("Harry" "is" "blue" "-")
Harry is not young.
("Harry" "is" "young" "-")
Kind people are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
Nice, young people are cold.
((("someone" "is" "nice" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
If someone is nice and not green then they are young.
((("someone" "is" "nice" "+") ("someone" "is" "green" "~")) -> ("someone" "is" "young" "+"))
If someone is blue then they are nice.
((("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
If someone is nice and not young then they are round.
((("someone" "is" "nice" "+") ("someone" "is" "young" "~")) -> ("someone" "is" "round" "+"))
All cold people are round.
((("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
Bob is kind.
True
1
proof
[(triple2)]
("Bob" "is" "kind" "+")
triple2
Erin is not nice.
False
1
inv-proof
[(triple7 OR ((triple4) -> rule4))]
("Erin" "is" "nice" "-")
triple7
((triple4) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Bob is blue.
True
2
proof
[(((triple2) -> rule1))]
("Bob" "is" "blue" "+")
((triple2) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Fiona is not blue.
False
2
inv-proof
[(((triple10) -> rule1))]
("Fiona" "is" "blue" "-")
((triple10) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Erin is round.
True
4
proof
[(((((triple7 triple8) -> rule2)) -> rule6) OR ((((((triple4) -> rule4) triple8) -> rule2)) -> rule6))]
("Erin" "is" "round" "+")
((((triple7 triple8) -> (rule2 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple4) -> (rule4 % int3)) triple8) -> (rule2 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is not round.
False
4
inv-proof
[(((((triple7 triple8) -> rule2)) -> rule6) OR ((((((triple4) -> rule4) triple8) -> rule2)) -> rule6))]
("Erin" "is" "round" "-")
((((triple7 triple8) -> (rule2 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple4) -> (rule4 % int3)) triple8) -> (rule2 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Fiona is young.
True
5
proof
[(((((((triple10) -> rule1)) -> rule4) triple9) -> rule3))]
("Fiona" "is" "young" "+")
((((((triple10) -> (rule1 % int3))) -> (rule4 % int2)) triple9) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is not young.
False
5
inv-proof
[(((((((triple10) -> rule1)) -> rule4) triple9) -> rule3))]
("Fiona" "is" "young" "-")
((((((triple10) -> (rule1 % int3))) -> (rule4 % int2)) triple9) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is cold.
True
9
proof
[(((((((triple10) -> rule1)) -> rule4) ((((((triple10) -> rule1)) -> rule4) triple9) -> rule3)) -> rule2))]
("Fiona" "is" "cold" "+")
((((((triple10) -> (rule1 % int4))) -> (rule4 % int3)) ((((((triple10) -> (rule1 % int4))) -> (rule4 % int3)) triple9) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is not cold.
False
9
inv-proof
[(((((((triple10) -> rule1)) -> rule4) ((((((triple10) -> rule1)) -> rule4) triple9) -> rule3)) -> rule2))]
("Fiona" "is" "cold" "-")
((((((triple10) -> (rule1 % int4))) -> (rule4 % int3)) ((((((triple10) -> (rule1 % int4))) -> (rule4 % int3)) triple9) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is round.
True
10
proof
[(((((((((triple10) -> rule1)) -> rule4) ((((((triple10) -> rule1)) -> rule4) triple9) -> rule3)) -> rule2)) -> rule6))]
("Fiona" "is" "round" "+")
((((((((triple10) -> (rule1 % int5))) -> (rule4 % int4)) ((((((triple10) -> (rule1 % int5))) -> (rule4 % int4)) triple9) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5
Fiona is not round.
False
10
inv-proof
[(((((((((triple10) -> rule1)) -> rule4) ((((((triple10) -> rule1)) -> rule4) triple9) -> rule3)) -> rule2)) -> rule6))]
("Fiona" "is" "round" "-")
((((((((triple10) -> (rule1 % int5))) -> (rule4 % int4)) ((((((triple10) -> (rule1 % int5))) -> (rule4 % int4)) triple9) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5
Harry is not nice.
Unknown
inv-rconc
[@1: Harry is nice.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Harry" "is" "nice" "-")
Harry is cold.
Unknown
rconc
[@1: Harry is cold.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "cold" "+")
Harry is not round.
Unknown
inv-rconc
[@2: Harry is round.[CWA. Example of deepest failure = (rule6 <- rule2 <- FAIL)]]
("Harry" "is" "round" "-")
Harry is green.
Unknown
random
[@0: Harry is green.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "green" "+")
Harry is not kind.
Unknown
inv-random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
@0: Bob is cold.[(triple1 OR ((((((triple2) -> rule1)) -> rule4) triple3) -> rule2))] Bob is kind.[(triple2)] Bob is young.[(triple3)] Erin is blue.[(triple4)] Erin is green.[(triple5)] Erin is nice.[(triple7 OR ((triple4) -> rule4))] Erin is not kind.[(triple6)] Erin is young.[(triple8)] Fiona is kind.[(triple10)] Fiona is not green.[(triple9)] Harry is not blue.[(triple11)] Harry is not young.[(triple12)] @1: Bob is blue.[(((triple2) -> rule1))] Bob is round.[(((triple1) -> rule6) OR ((((((((triple2) -> rule1)) -> rule4) triple3) -> rule2)) -> rule6))] Erin is cold.[(((triple7 triple8) -> rule2) OR ((((triple4) -> rule4) triple8) -> rule2))] Fiona is blue.[(((triple10) -> rule1))] @2: Bob is nice.[(((((triple2) -> rule1)) -> rule4))] Erin is round.[(((((triple7 triple8) -> rule2)) -> rule6) OR ((((((triple4) -> rule4) triple8) -> rule2)) -> rule6))] Fiona is nice.[(((((triple10) -> rule1)) -> rule4))] @3: Fiona is young.[(((((((triple10) -> rule1)) -> rule4) triple9) -> rule3))] @4: Fiona is cold.[(((((((triple10) -> rule1)) -> rule4) ((((((triple10) -> rule1)) -> rule4) triple9) -> rule3)) -> rule2))] @5: Fiona is round.[(((((((((triple10) -> rule1)) -> rule4) ((((((triple10) -> rule1)) -> rule4) triple9) -> rule3)) -> rule2)) -> rule6))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2)) triple3) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Bob is young.
("Bob" "is" "young" "+")
triple3
Erin is blue.
("Erin" "is" "blue" "+")
triple4
Erin is green.
("Erin" "is" "green" "+")
triple5
Erin is nice.
("Erin" "is" "nice" "+")
triple7
((triple4) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is not kind.
("Erin" "is" "kind" "-")
triple6
Erin is young.
("Erin" "is" "young" "+")
triple8
Fiona is kind.
("Fiona" "is" "kind" "+")
triple10
Fiona is not green.
("Fiona" "is" "green" "-")
triple9
Harry is not blue.
("Harry" "is" "blue" "-")
triple11
Harry is not young.
("Harry" "is" "young" "-")
triple12
Bob is blue.
("Bob" "is" "blue" "+")
((triple2) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((triple1) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((((((triple2) -> (rule1 % int4))) -> (rule4 % int3)) triple3) -> (rule2 % int2))) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
((triple7 triple8) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple4) -> (rule4 % int2)) triple8) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple10) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
((((triple7 triple8) -> (rule2 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple4) -> (rule4 % int3)) triple8) -> (rule2 % int2))) -> (rule6 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple10) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
((((((triple10) -> (rule1 % int3))) -> (rule4 % int2)) triple9) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
((((((triple10) -> (rule1 % int4))) -> (rule4 % int3)) ((((((triple10) -> (rule1 % int4))) -> (rule4 % int3)) triple9) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is round.
("Fiona" "is" "round" "+")
((((((((triple10) -> (rule1 % int5))) -> (rule4 % int4)) ((((((triple10) -> (rule1 % int5))) -> (rule4 % int4)) triple9) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5