EqProof.agda 394 B

123456789101112131415161718192021
  1. module EqProof
  2. { A : Set }
  3. ( _==_ : A -> A -> Set )
  4. (refl : {x : A} -> x == x)
  5. (trans : {x y z : A} -> x == y -> y == z -> x == z)
  6. where
  7. infix 3 eqProof>_
  8. infixl 2 _===_
  9. infix 3 _by_
  10. eqProof>_ : (x : A) -> x == x
  11. eqProof> x = refl
  12. _===_ : {x y z : A} -> x == y -> y == z -> x == z
  13. xy === yz = trans xy yz
  14. _by_ : {x : A}(y : A) -> x == y -> x == y
  15. y by eq = eq