{-# OPTIONS --safe #-}
module Cubical.Tactics.CategorySolver.Examples where
open import Cubical.Foundations.Prelude
open import Cubical.Categories.Category
open import Cubical.Tactics.CategorySolver.Reflection
private
variable
โ โ' : Level
module Examples (๐ : Category โ โ') where
open Category ๐
_ : โ {A} โ id {A} โก id {A}
_ = solveCat! ๐
_ : โ {A B}{f : ๐ [ A , B ]}
โ f โ id โก f
_ = solveCat! ๐
_ : โ {A B}{f : ๐ [ A , B ]}
โ id โ (id โ id โ f) โ id โก id โ id โ (id โ f)
_ = solveCat! ๐
_ : โ {A B C}{f : ๐ [ A , B ]}{g : ๐ [ B , C ]}
โ f โ g โก g โ (id โ f) โโจ ๐ โฉ id
_ = solveCat! ๐
ex : โ {A B C}(f : ๐ [ A , B ])(g : ๐ [ B , C ])(h : ๐ [ A , C ])
โ (f โ (id โ g)) โก h
โ f โ g โก h โ id
ex f g h p =
f โ g โกโจ solveCat! ๐ โฉ
(f โ (id โ g)) โกโจ p โฉ
h โกโจ solveCat! ๐ โฉ
h โ id โ