src/HOL/ex/SVC_Oracle.thy
changeset 38795 848be46708dc
parent 38786 e46e7a9cb622
child 38864 4abe644fcea5
equal deleted inserted replaced
38794:2d638e963357 38795:848be46708dc
    86             else if T = HOLogic.intT then c $ (int x) $ (int y)
    86             else if T = HOLogic.intT then c $ (int x) $ (int y)
    87             else if T = HOLogic.natT then c $ (nat x) $ (nat y)
    87             else if T = HOLogic.natT then c $ (nat x) $ (nat y)
    88             else if T = HOLogic.boolT then c $ (fm x) $ (fm y)
    88             else if T = HOLogic.boolT then c $ (fm x) $ (fm y)
    89             else replace (c $ x $ y)   (*non-numeric comparison*)
    89             else replace (c $ x $ y)   (*non-numeric comparison*)
    90     (*abstraction of a formula*)
    90     (*abstraction of a formula*)
    91     and fm ((c as Const(@{const_name "op &"}, _)) $ p $ q) = c $ (fm p) $ (fm q)
    91     and fm ((c as Const(@{const_name HOL.conj}, _)) $ p $ q) = c $ (fm p) $ (fm q)
    92       | fm ((c as Const(@{const_name "op |"}, _)) $ p $ q) = c $ (fm p) $ (fm q)
    92       | fm ((c as Const(@{const_name HOL.disj}, _)) $ p $ q) = c $ (fm p) $ (fm q)
    93       | fm ((c as Const(@{const_name HOL.implies}, _)) $ p $ q) = c $ (fm p) $ (fm q)
    93       | fm ((c as Const(@{const_name HOL.implies}, _)) $ p $ q) = c $ (fm p) $ (fm q)
    94       | fm ((c as Const(@{const_name Not}, _)) $ p) = c $ (fm p)
    94       | fm ((c as Const(@{const_name Not}, _)) $ p) = c $ (fm p)
    95       | fm ((c as Const(@{const_name True}, _))) = c
    95       | fm ((c as Const(@{const_name True}, _))) = c
    96       | fm ((c as Const(@{const_name False}, _))) = c
    96       | fm ((c as Const(@{const_name False}, _))) = c
    97       | fm (t as Const(@{const_name "op ="},  Type ("fun", [T,_])) $ _ $ _) = rel (T, t)
    97       | fm (t as Const(@{const_name "op ="},  Type ("fun", [T,_])) $ _ $ _) = rel (T, t)