Let X, N, J, le and net be given.
Apply H to the current goal.
Let J0 be given.
Apply Hexle0 to the current goal.
Let le0 be given.
Apply Hexnet0 to the current goal.
Let net0 be given.
Assume HN0 Hdir0 Htot0 Hgraph0 Hdom0.
rewrite the current goal using HNdef (from right to left).
An exact proof term for the current goal is HN0.
We prove the intermediate
claim HJeq:
J = J0.
rewrite the current goal using HeqPack (from left to right).
Use reflexivity.
An exact proof term for the current goal is Hidx.
We prove the intermediate
claim Hleeq:
le = le0.
rewrite the current goal using HeqPack (from left to right).
Use reflexivity.
rewrite the current goal using
(net_pack_le_eq J le net) (from right to left).
rewrite the current goal using
(net_pack_le_eq J0 le0 net0) (from right to left).
An exact proof term for the current goal is Hle.
We prove the intermediate
claim Hnete:
net = net0.
rewrite the current goal using HeqPack (from left to right).
Use reflexivity.
We will
prove net = net0.
rewrite the current goal using
(net_pack_fun_eq J le net) (from right to left).
rewrite the current goal using
(net_pack_fun_eq J0 le0 net0) (from right to left).
An exact proof term for the current goal is Hf.
rewrite the current goal using HJeq (from left to right).
rewrite the current goal using Hleeq (from left to right).
rewrite the current goal using Hnete (from left to right).
∎