1

I have the following function in Coq. Now I want to define an instance as below. In my case, equivalence [==] on type [nat] is defined but not on [StringMap.t String.t]. Please if you solve the Instace SC_Proper. Thanks.

Definition SC (u: nat) (zm: StringMap.t String.t):
  StringMap.t String.t :=
 match u with
 | S p =>   match p with  
                 | 2  => zm 
                 | _ => 
                      match StringMap.find "S" zm with
                      | Some k => StringMap.empty 
                      | _ => zm  
                      end
                end
  | O => zm
 end.


 Instance SC_Proper 
 : Proper (equiv ==> equiv ==> equiv) SC.
Proof with o.
 repeat red. intros u u' Hu zm1 zm2 Hzm.
Admitted.
Khan
  • 303
  • 2
  • 14

0 Answers0