fact: Fixpoint termD_work dom (e : Term) : option (∃ cod, objD dom ~> objD cod) := match e with | Ident => Some (dom; id) | Morph a => lookup_arr a dom | Comp f g => match termD_work dom g with | Some (mid; g) => match termD_work mid f with | Some (y; f) => Some (y; f ∘ g) | _ => None end | _ => None end end.
imports: Equations(Equations) Category.Lib Category.Lib.IList Category.Theory.Category Category.Solver.Expr