(** * Definitions *)

Inductive Rbar :=
  | Finite : R -> Rbar
  | p_infty : Rbar
  | m_infty : Rbar.(** * Definitions *)

Inductive Rbar :=
  | Finite : R -> Rbar
  | p_infty : Rbar
  | m_infty : Rbar.(** * Definitions *)

Inductive Rbar :=
  | Finite : R -> Rbar
  | p_infty : Rbar
  | m_infty : Rbar.(** * Definitions *)

Inductive Rbar :=
  | Finite : R -> Rbar
  | p_infty : Rbar
  | m_infty : Rbar.Definition real (x : Rbar) :=
  match x with
    | Finite x => x
    | _ => 0
  end.Definition is_finite (x : Rbar) := Finite (real x) = x.

Lemma is_finite_correct (x : Rbar) : is_finite x <-> exists y : R, x = Finite y.