Charlie is blue. Charlie is cold. Charlie is round. Erin is cold. Erin is red. Erin is rough. Fiona is blue. Fiona is cold. Fiona is kind. Fiona is rough. Fiona is young. Harry is blue. Harry is cold. Harry is kind. Harry is red. All round, kind things are red. All blue, kind things are young. If something is young then it is round.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is red.
("Harry" "is" "red" "+")
All round, kind things are red.
((("something" "is" "round" "+") ("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
All blue, kind things are young.
((("something" "is" "blue" "+") ("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
If something is young then it is round.
((("something" "is" "young" "+")) -> ("something" "is" "round" "+"))
Charlie is round.
True
1
proof
[(triple3)]
("Charlie" "is" "round" "+")
triple3
Charlie is not cold.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "cold" "-")
triple2
Fiona is round.
True
2
proof
[(((triple11) -> rule3) OR ((((triple7 triple9) -> rule2)) -> rule3))]
("Fiona" "is" "round" "+")
((triple11) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple7 triple9) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not round.
False
2
inv-proof
[(((triple11) -> rule3) OR ((((triple7 triple9) -> rule2)) -> rule3))]
("Fiona" "is" "round" "-")
((triple11) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple7 triple9) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is red.
True
4
proof
[(((((triple11) -> rule3) triple9) -> rule1) OR ((((((triple7 triple9) -> rule2)) -> rule3) triple9) -> rule1))]
("Fiona" "is" "red" "+")
((((triple11) -> (rule3 % int2)) triple9) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((((triple7 triple9) -> (rule2 % int3))) -> (rule3 % int2)) triple9) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is not red.
False
4
inv-proof
[(((((triple11) -> rule3) triple9) -> rule1) OR ((((((triple7 triple9) -> rule2)) -> rule3) triple9) -> rule1))]
("Fiona" "is" "red" "-")
((((triple11) -> (rule3 % int2)) triple9) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((((triple7 triple9) -> (rule2 % int3))) -> (rule3 % int2)) triple9) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Erin is not round.
Unknown
inv-rconc
[@2: Erin is round.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Erin" "is" "round" "-")
Charlie is red.
Unknown
rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "red" "+")
Erin is not young.
Unknown
inv-rconc
[@1: Erin is young.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "young" "-")
Charlie is rough.
Unknown
random
[@0: Charlie is rough.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "rough" "+")
Harry is not rough.
Unknown
inv-random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "-")
Erin is blue.
Unknown
random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "+")
@0: Charlie is blue.[(triple1)] Charlie is cold.[(triple2)] Charlie is round.[(triple3)] Erin is cold.[(triple4)] Erin is red.[(triple5)] Erin is rough.[(triple6)] Fiona is blue.[(triple7)] Fiona is cold.[(triple8)] Fiona is kind.[(triple9)] Fiona is rough.[(triple10)] Fiona is young.[(triple11 OR ((triple7 triple9) -> rule2))] Harry is blue.[(triple12)] Harry is cold.[(triple13)] Harry is kind.[(triple14)] Harry is red.[(triple15 OR ((((((triple12 triple14) -> rule2)) -> rule3) triple14) -> rule1))] @1: Fiona is round.[(((triple11) -> rule3) OR ((((triple7 triple9) -> rule2)) -> rule3))] Harry is young.[(((triple12 triple14) -> rule2))] @2: Fiona is red.[(((((triple11) -> rule3) triple9) -> rule1) OR ((((((triple7 triple9) -> rule2)) -> rule3) triple9) -> rule1))] Harry is round.[(((((triple12 triple14) -> rule2)) -> rule3))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
Charlie is round.
("Charlie" "is" "round" "+")
triple3
Erin is cold.
("Erin" "is" "cold" "+")
triple4
Erin is red.
("Erin" "is" "red" "+")
triple5
Erin is rough.
("Erin" "is" "rough" "+")
triple6
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
Fiona is cold.
("Fiona" "is" "cold" "+")
triple8
Fiona is kind.
("Fiona" "is" "kind" "+")
triple9
Fiona is rough.
("Fiona" "is" "rough" "+")
triple10
Fiona is young.
("Fiona" "is" "young" "+")
triple11
((triple7 triple9) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
triple12
Harry is cold.
("Harry" "is" "cold" "+")
triple13
Harry is kind.
("Harry" "is" "kind" "+")
triple14
Harry is red.
("Harry" "is" "red" "+")
triple15
((((((triple12 triple14) -> (rule2 % int3))) -> (rule3 % int2)) triple14) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
((triple11) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((triple7 triple9) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
((triple12 triple14) -> (rule2 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((((triple11) -> (rule3 % int2)) triple9) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((((triple7 triple9) -> (rule2 % int3))) -> (rule3 % int2)) triple9) -> (rule1 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
((((triple12 triple14) -> (rule2 % int2))) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2