0
    I have a different groups of natural numbers(sn1 ,sn2…   snn).

I pass/give this group to a function ,which convert this group to a list.I want to prove these lists are disjoint.I have defined theorems about disjoint list.But I have a problem in proving lemma. . 1. Are basic theorems about disjoint lists are sufficient to prove the required lemma? 2. I have to add some basic theorems about disjoint sets?

Lemma mutualexc: forall (sn1 sn2 bmax snmax:nat), 
  let g1 := group sn1 bmax snmax in 
  let g2 := group sn2 bmax snmax in 
  let list1 := f (fst(g1)) (snd(g1))  ((snd(g1)) - (fst(g1))) in
  let list2 := f (fst(g2)) (snd(g2))  ((snd(g2)) - (fst(g2))) in
  sn1 <> sn2 -> disjoint list1 list2. 



intros. induction list1 as [|t l1] .
 apply disjoint_nil_l. apply disjoint_cons_l.
 unfold disjoint . 
unfold disjoint.`
sana
  • 1
  • 2
  • Yes. I want to prove that if sets and their serial numbers are disjoint then lists will be disjoint .In this reference ,I have a lemma and I am facing problem in its prove. – sana Jul 07 '19 at 08:08
  • Where do `eq_rel` `LibTactics` and actics`come from? – Yves Jul 08 '19 at 08:06
  • I imported these two Libs from NuprlInCoq_list.v at master · vrahli_NuprlInCoq · GitHub4 – sana Jul 09 '19 at 14:10
  • I have used the basic lemmas of disjoint lists from vrahli_NuprlInCoq .list.I want to use these lemmas for proving the conversion of disjoint group to disjoint list. – sana Jul 09 '19 at 14:33

0 Answers0