Harry is kind. Harry is rough. Harry is smart. If someone is round then they are quiet. If Harry is smart then Harry is quiet. If someone is round then they are smart. Kind people are rough. Quiet, round people are rough. If Harry is smart and Harry is round then Harry is big. All smart people are round. If someone is big and round then they are smart.
Harry is kind.
("Harry" "is" "kind" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is smart.
("Harry" "is" "smart" "+")
If someone is round then they are quiet.
((("someone" "is" "round" "+")) -> ("someone" "is" "quiet" "+"))
If Harry is smart then Harry is quiet.
((("Harry" "is" "smart" "+")) -> ("Harry" "is" "quiet" "+"))
If someone is round then they are smart.
((("someone" "is" "round" "+")) -> ("someone" "is" "smart" "+"))
Kind people are rough.
((("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "+"))
Quiet, round people are rough.
((("someone" "is" "quiet" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
If Harry is smart and Harry is round then Harry is big.
((("Harry" "is" "smart" "+") ("Harry" "is" "round" "+")) -> ("Harry" "is" "big" "+"))
All smart people are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
If someone is big and round then they are smart.
((("someone" "is" "big" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "smart" "+"))
Harry is rough.
True
1
proof
[(triple2 OR ((triple1) -> rule4) OR ((((triple3) -> rule2) ((triple3) -> rule7)) -> rule5) OR ((((((triple3) -> rule7)) -> rule1) ((triple3) -> rule7)) -> rule5))]
("Harry" "is" "rough" "+")
triple2
((triple1) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((triple3) -> (rule2 % int3)) ((triple3) -> (rule7 % int2))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((((triple3) -> (rule7 % int3))) -> (rule1 % int2)) ((triple3) -> (rule7 % int3))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is not rough.
False
1
inv-proof
[(triple2 OR ((triple1) -> rule4) OR ((((triple3) -> rule2) ((triple3) -> rule7)) -> rule5) OR ((((((triple3) -> rule7)) -> rule1) ((triple3) -> rule7)) -> rule5))]
("Harry" "is" "rough" "-")
triple2
((triple1) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((triple3) -> (rule2 % int3)) ((triple3) -> (rule7 % int2))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((((triple3) -> (rule7 % int3))) -> (rule1 % int2)) ((triple3) -> (rule7 % int3))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is quiet.
True
2
proof
[(((triple3) -> rule2) OR ((((triple3) -> rule7)) -> rule1))]
("Harry" "is" "quiet" "+")
((triple3) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple3) -> (rule7 % int2))) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is not round.
False
2
inv-proof
[(((triple3) -> rule7))]
("Harry" "is" "round" "-")
((triple3) -> (rule7 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
True
4
proof
[(((triple3 ((triple3) -> rule7)) -> rule6))]
("Harry" "is" "big" "+")
((triple3 ((triple3) -> (rule7 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is not big.
False
4
inv-proof
[(((triple3 ((triple3) -> rule7)) -> rule6))]
("Harry" "is" "big" "-")
((triple3 ((triple3) -> (rule7 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
@0: Harry is kind.[(triple1)] Harry is rough.[(triple2 OR ((triple1) -> rule4) OR ((((triple3) -> rule2) ((triple3) -> rule7)) -> rule5) OR ((((((triple3) -> rule7)) -> rule1) ((triple3) -> rule7)) -> rule5))] Harry is smart.[(triple3)] @1: Harry is quiet.[(((triple3) -> rule2) OR ((((triple3) -> rule7)) -> rule1))] Harry is round.[(((triple3) -> rule7))] @2: Harry is big.[(((triple3 ((triple3) -> rule7)) -> rule6))]
Harry is kind.
("Harry" "is" "kind" "+")
triple1
Harry is rough.
("Harry" "is" "rough" "+")
triple2
((triple1) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((triple3) -> (rule2 % int3)) ((triple3) -> (rule7 % int2))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
((((((triple3) -> (rule7 % int3))) -> (rule1 % int2)) ((triple3) -> (rule7 % int3))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is smart.
("Harry" "is" "smart" "+")
triple3
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple3) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple3) -> (rule7 % int2))) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
((triple3) -> (rule7 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple3 ((triple3) -> (rule7 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2