@@ -877,6 +877,12 @@ instance ImplicationOrder.instCompleteLattice : CompleteLattice ImplicationOrder
877877 @monotone _ _ _ ImplicationOrder.instOrder (fun x => (Exists (f x))) :=
878878 fun x y hxy ⟨w, hw⟩ => ⟨w, monotone_apply w f h x y hxy hw⟩
879879
880+ @[partial_fixpoint_monotone] theorem implication_order_monotone_forall
881+ {α} [PartialOrder α] {β} (f : α → β → ImplicationOrder)
882+ (h : monotone f) :
883+ @monotone _ _ _ ImplicationOrder.instOrder (fun x => ∀ y, f x y) :=
884+ fun x y hxy h₂ y₁ => monotone_apply y₁ f h x y hxy (h₂ y₁)
885+
880886@[partial_fixpoint_monotone] theorem implication_order_monotone_and
881887 {α} [PartialOrder α] (f₁ : α → ImplicationOrder) (f₂ : α → ImplicationOrder)
882888 (h₁ : @monotone _ _ _ ImplicationOrder.instOrder f₁)
@@ -931,6 +937,12 @@ def ReverseImplicationOrder.instCompleteLattice : CompleteLattice ReverseImplica
931937 @monotone _ _ _ ReverseImplicationOrder.instOrder (fun x => Exists (f x)) :=
932938 fun x y hxy ⟨w, hw⟩ => ⟨w, monotone_apply w f h x y hxy hw⟩
933939
940+ @[partial_fixpoint_monotone] theorem coind_monotone_forall
941+ {α} [PartialOrder α] {β} (f : α → β → ReverseImplicationOrder)
942+ (h : monotone f) :
943+ @monotone _ _ _ ReverseImplicationOrder.instOrder (fun x => ∀ y, f x y) :=
944+ fun x y hxy h₂ y₁ => monotone_apply y₁ f h x y hxy (h₂ y₁)
945+
934946@[partial_fixpoint_monotone] theorem coind_monotone_and
935947 {α} [PartialOrder α] (f₁ : α → Prop ) (f₂ : α → Prop )
936948 (h₁ : @monotone _ _ _ ReverseImplicationOrder.instOrder f₁)
0 commit comments