{-# OPTIONS --type-in-type
    #-}

open import NeilPrelude

module Equational where


infixr 1 _≡⟨_⟩_
infix  2 _QED

_≡⟨_⟩_ : {A : Set}  {b c : A}  (a : A)  a  b  b  c  a  c
_ ≡⟨ refl  refl = refl

_QED : {A : Set}  (a : A)  a  a
_ QED = refl

open import NatProps
open import Nat

exampleLem1 : (n : )  (n + O) + n  (n + n) + O
exampleLem1 n =  n + O + n
                    ≡⟨ comm {n + O}
                 n + (n + O)
                    ≡⟨ assocR {n} 
                 (n + n) + O 
               QED