fancyEqDef :: Def
fancyEqDef =
    Def "fancyEq" ["a", "b", "q85"] (
      ((V "a" === C "o" []) &&&
      (((V "b" === C "o" []) &&&
      (V "q85" === C "true" [])) |||
      (fresh ["q88"] (
        (V "b" === C "s" [V "q88"]) &&&
        (V "q85" === C "false" []))))) |||
      (fresh ["x"] (
        (V "a" === C "s" [V "x"]) &&&
        (((V "b" === C "o" []) &&&
        (V "q85" === C "false" [])) |||
        (fresh ["y"] (
            (V "b" === C "s" [V "y"]) &&&
            (call "fancyEq" [V "x", V "y", V "q85"]))))))
    )
fancyEqDef :: Def
fancyEqDef =
    Def "fancyEq" ["a", "b", "q85"] (
      ((V "a" === C "o" []) &&&
      (((V "b" === C "o" []) &&&
      (V "q85" === C "true" [])) |||
      (fresh ["q88"] (
        (V "b" === C "s" [V "q88"]) &&&
        (V "q85" === C "false" []))))) |||
      (fresh ["x"] (
        (V "a" === C "s" [V "x"]) &&&
        (((V "b" === C "o" []) &&&
        (V "q85" === C "false" [])) |||
        (fresh ["y"] (
            (V "b" === C "s" [V "y"]) &&&
            (call "fancyEq" [V "x", V "y", V "q85"]))))))
    )
fancyEqDef =
    Def "fancyEq" ["a", "b", "q85"] (
      ((V "a" === C "o" []) &&&
      (((V "b" === C "o" []) &&&
      (V "q85" === C "true" [])) |||
      (fresh ["q88"] (
        (V "b" === C "s" [V "q88"]) &&&
        (V "q85" === C "false" []))))) |||
      (fresh ["x"] (
        (V "a" === C "s" [V "x"]) &&&
        (((V "b" === C "o" []) &&&
        (V "q85" === C "false" [])) |||
        (fresh ["y"] (
            (V "b" === C "s" [V "y"]) &&&
            (call "fancyEq" [V "x", V "y", V "q85"]))))))
    )