cbc-casper-proof icon indicating copy to clipboard operation
cbc-casper-proof copied to clipboard

[Proof] M and Σ (are / should be) infinite sets

Open nrryuya opened this issue 6 years ago • 3 comments

I guess M and in the paper should be infinite. The current definitions of them of ours are infinite?

(* Definition 2.7 *)
fun 
  Σ_i :: "params ⇒ nat ⇒ state set" and
  M_i :: "params ⇒ nat ⇒ message set"
  where 
    "Σ_i params 0 = {∅}"
  | "Σ_i params n = {σ ∈ Pow (M_i params (n - 1)). ∀ m. m ∈ σ ⟶ justification m ⊆ σ}"
  | "M_i params n = {m. est m ∈ C params ∧ sender m ∈ V params ∧ justification m ∈ (Σ_i params n) ∧ est m ∈ ε params (justification m)}" 

fun M :: "params ⇒ message set"
  where
    "M params =  ⋃ (M_i params `ℕ)"

fun Σ :: "params ⇒ state set"
  where
    "Σ params = ⋃ (Σ_i params `ℕ)"

NOTE: Isabelle says {n ∈ ℕ} and {σ ∈ (Σ params)} are finite.

value "finite {n ∈ ℕ}"
(* True  *)

lemma "∀ params. finite {σ ∈ (Σ params)}"
  by auto

nrryuya avatar Jan 11 '19 02:01 nrryuya

value "finite {n ∈ ℕ}" is True because {n ∈ ℕ} will be evaluated to {True} or {False}. (You can check term "{n ∈ ℕ}" and this must say a set of boolean) I think your sets can be infinite correctly. No problem.

myuon avatar Jan 11 '19 11:01 myuon

See below for the complete definitions of set comprehension syntax. I guess this case is parsed using _Finset syntax. https://isabelle.in.tum.de/dist/library/HOL/HOL/Set.html

myuon avatar Jan 11 '19 11:01 myuon

value "finite {n ∈ ℕ}" is True because {n ∈ ℕ} will be evaluated to {True} or {False}. (You can check term "{n ∈ ℕ}" and this must say a set of boolean)

Yeah, I found this mistake in another place a while ago... ;) Thank you for your clarification.

I think your sets can be infinite correctly. No problem.

Oh, nice! I'll try to prove they are infinite. It seems that it's not so straightforward, though.

nrryuya avatar Jan 11 '19 14:01 nrryuya