{-# OPTIONS --without-K --safe #-}
open import Equality
open import Prelude
module Tactic.By.Parametrised
{c⁺} (eq : ∀ {a p} → Equality-with-J a p c⁺) where
open Derived-definitions-and-properties eq
open import List eq
open import Monad eq
open import Tactic.By eq as TB
open import TC-monad eq
open TB public using (⟨_⟩)
module _
(distance-to-eq : ℕ)
where
private
eq-term : Term
eq-term = var distance-to-eq []
open ⟨By⟩
(λ where
(def (quote Reflexive-relation._≡_)
(arg _ a ∷ _ ∷ arg _ A ∷ arg _ x ∷ arg _ y ∷ [])) →
return $ just (a , A , x , y)
_ → return nothing)
(λ p → def (quote sym) (varg eq-term ∷ varg p ∷ []))
(λ lhs rhs f p → def (quote cong)
(varg eq-term ∷
replicate 4 (harg unknown) ++
harg lhs ∷ harg rhs ∷ varg f ∷ varg p ∷ []))
false
public