Built with Alectryon, running Coq+SerAPI v8.10.0+0.7.0. Coq sources are in this panel; goals and messages will appear in the other. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus.
(************************************************************************)
(*         *   The Coq Proof Assistant / The Coq Development Team       *)
(*  v      *   INRIA, CNRS and contributors - Copyright 1999-2018       *)
(* <O___,, *       (see CREDITS file for the list of authors)           *)
(*   \VV/  **************************************************************)
(*    //   *    This file is distributed under the terms of the         *)
(*         *     GNU Lesser General Public License Version 2.1          *)
(*         *     (see LICENSE file for the text of the license)         *)
(************************************************************************)

Set Implicit Arguments.

Definition ifdec (A B:Prop) (C:Type) (H:{A} + {B}) (x y:C) : C :=
  if H then x else y.



forall (A B : Prop) (C : Set) (H : {A} + {B}), ~ B -> forall x y : C, ifdec H x y = x

forall (A B : Prop) (C : Set) (H : {A} + {B}), ~ B -> forall x y : C, ifdec H x y = x
A, B:Prop
C:Set
H:{A} + {B}
H0:~ B
x, y:C

forall b : B, ifdec (right b) x y = x
intro; absurd B; trivial. Qed.

forall (A B : Prop) (C : Set) (H : {A} + {B}), ~ A -> forall x y : C, ifdec H x y = y

forall (A B : Prop) (C : Set) (H : {A} + {B}), ~ A -> forall x y : C, ifdec H x y = y
A, B:Prop
C:Set
H:{A} + {B}
H0:~ A
x, y:C

forall a : A, ifdec (left a) x y = y
intro; absurd A; trivial. Qed. Unset Implicit Arguments.