Let x be given.
We will
prove x ∈ Lf ∩ Lg.
We prove the intermediate
claim HxX:
x ∈ X.
We prove the intermediate
claim HhxEq:
apply_fun h x = h0 x.
An
exact proof term for the current goal is
(apply_fun_graph X (λu : set ⇒ h0 u) x HxX).
We prove the intermediate
claim Hlt0:
Rlt (h0 x) b.
rewrite the current goal using HhxEq (from right to left) at position 1.
An exact proof term for the current goal is Hlt.
We prove the intermediate
claim Hdef0:
h0 x = (if (Rlt 1 (maxfg x)) then 1 else (maxfg x)).
We prove the intermediate
claim Hn1lt:
¬ (Rlt 1 (maxfg x)).
We prove the intermediate
claim HeqIf:
(if (Rlt 1 (maxfg x)) then 1 else (maxfg x)) = 1.
An
exact proof term for the current goal is
(If_i_1 (Rlt 1 (maxfg x)) 1 (maxfg x) H1lt).
We prove the intermediate
claim Heq:
h0 x = 1.
rewrite the current goal using Hdef0 (from left to right) at position 1.
An exact proof term for the current goal is HeqIf.
We prove the intermediate
claim H1ltb:
Rlt 1 b.
rewrite the current goal using Heq (from right to left) at position 1.
An exact proof term for the current goal is Hlt0.
An exact proof term for the current goal is (Hn1ltb H1ltb).
We prove the intermediate
claim HeqIf:
(if (Rlt 1 (maxfg x)) then 1 else (maxfg x)) = (maxfg x).
An
exact proof term for the current goal is
(If_i_0 (Rlt 1 (maxfg x)) 1 (maxfg x) Hn1lt).
We prove the intermediate
claim Heq:
h0 x = maxfg x.
rewrite the current goal using Hdef0 (from left to right) at position 1.
An exact proof term for the current goal is HeqIf.
We prove the intermediate
claim Hmaxlt:
Rlt (maxfg x) b.
rewrite the current goal using Heq (from right to left) at position 1.
An exact proof term for the current goal is Hlt0.
We prove the intermediate
claim HeqM:
maxfg x = apply_fun g x.
We prove the intermediate
claim HgbLt:
Rlt (apply_fun g x) b.
rewrite the current goal using HeqM (from right to left) at position 1.
An exact proof term for the current goal is Hmaxlt.
We prove the intermediate
claim HeqM:
maxfg x = apply_fun f x.
We prove the intermediate
claim HfbLt:
Rlt (apply_fun f x) b.
rewrite the current goal using HeqM (from right to left) at position 1.
An exact proof term for the current goal is Hmaxlt.
An exact proof term for the current goal is HfbLt.
We prove the intermediate
claim HeqM:
maxfg x = apply_fun g x.
We prove the intermediate
claim HgbLt:
Rlt (apply_fun g x) b.
rewrite the current goal using HeqM (from right to left) at position 1.
An exact proof term for the current goal is Hmaxlt.
An exact proof term for the current goal is HgbLt.
We prove the intermediate
claim HeqM:
maxfg x = apply_fun f x.
We prove the intermediate
claim HfbLt:
Rlt (apply_fun f x) b.
rewrite the current goal using HeqM (from right to left) at position 1.
An exact proof term for the current goal is Hmaxlt.
We prove the intermediate
claim HgxR:
apply_fun g x ∈ R.
An exact proof term for the current goal is (HgFun x HxX).
We prove the intermediate
claim HfxR:
apply_fun f x ∈ R.
An exact proof term for the current goal is (HfFun x HxX).
We prove the intermediate
claim HfxR:
apply_fun f x ∈ R.
An exact proof term for the current goal is (HfFun x HxX).
We prove the intermediate
claim HgxR:
apply_fun g x ∈ R.
An exact proof term for the current goal is (HgFun x HxX).
We prove the intermediate
claim HxLf:
x ∈ Lf.
We prove the intermediate
claim HxLg:
x ∈ Lg.
An
exact proof term for the current goal is
(binintersectI Lf Lg x HxLf HxLg).
Let x be given.
We prove the intermediate
claim HxLf:
x ∈ Lf.
An
exact proof term for the current goal is
(binintersectE1 Lf Lg x Hx).
We prove the intermediate
claim HxLg:
x ∈ Lg.
An
exact proof term for the current goal is
(binintersectE2 Lf Lg x Hx).
We prove the intermediate
claim HxX:
x ∈ X.
We prove the intermediate
claim Hmaxlt:
Rlt (maxfg x) b.
We prove the intermediate
claim HeqM:
maxfg x = apply_fun g x.
rewrite the current goal using HeqM (from left to right).
An exact proof term for the current goal is Hgb.
We prove the intermediate
claim HeqM:
maxfg x = apply_fun f x.
rewrite the current goal using HeqM (from left to right).
An exact proof term for the current goal is Hfb.
We prove the intermediate
claim HmaxR:
maxfg x ∈ R.
rewrite the current goal using Hdef (from left to right) at position 1.
rewrite the current goal using Heq (from left to right) at position 1.
An exact proof term for the current goal is (HgFun x HxX).
rewrite the current goal using Heq (from left to right) at position 1.
An exact proof term for the current goal is (HfFun x HxX).
We prove the intermediate
claim HmaxLe1:
Rle (maxfg x) 1.
We prove the intermediate
claim HmaxLt1:
Rlt (maxfg x) 1.
An
exact proof term for the current goal is
(Rlt_Rle_tra (maxfg x) b 1 Hmaxlt HbLe1).
An
exact proof term for the current goal is
(Rlt_implies_Rle (maxfg x) 1 HmaxLt1).
We prove the intermediate
claim Hn1lt:
¬ (Rlt 1 (maxfg x)).
An
exact proof term for the current goal is
((RleE_nlt (maxfg x) 1 HmaxLe1) H1lt).
We prove the intermediate
claim Heq0:
h0 x = maxfg x.
An
exact proof term for the current goal is
(If_i_0 (Rlt 1 (maxfg x)) 1 (maxfg x) Hn1lt).
We prove the intermediate
claim HhxEq:
apply_fun h x = h0 x.
An
exact proof term for the current goal is
(apply_fun_graph X (λu : set ⇒ h0 u) x HxX).
rewrite the current goal using HhxEq (from left to right).
rewrite the current goal using Heq0 (from left to right) at position 1.