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