*****************************************************************************
                       Semantic Analysis of SPARK Text
                             Examiner Pro Edition

*****************************************************************************



SPARK Simplifier Pro Edition


procedure Skein.Skein_Start_New_Type






RRS  The following user defined rule files have been read:
&&&  skein.rlu
SEM  No semantic checks are performed on the rules.


@@@@@@@@@@  VC: procedure_skein_start_new_type_1.  @@@@@@@@@@
***  Proved C1:  field_type >= spark__unsigned__u6__first
     using hypothesis H2.
***  Proved C2:  field_type <= spark__unsigned__u6__last
     using hypothesis H3.
-S-  Applied substitution rule skein_start__rules(39).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__first by:
          0.
<S>  New H15:  fld_tree_level(fld_tweak_words(ctx)) >= 0
<S>  New C3:  true
-S-  Applied substitution rule skein_start__rules(40).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u7__last by:
          127.
<S>  New H16:  fld_tree_level(fld_tweak_words(ctx)) <= 127
<S>  New C4:  true
-S-  Applied substitution rule skein_start__rules(45).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__first by:
          0.
<S>  New H17:  fld_reserved(fld_tweak_words(ctx)) >= 0
<S>  New C5:  true
-S-  Applied substitution rule skein_start__rules(46).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u16__last by:
          65535.
<S>  New H18:  fld_reserved(fld_tweak_words(ctx)) <= 65535
<S>  New C6:  true
-S-  Applied substitution rule skein_start__rules(51).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__first by:
          0.
<S>  New H19:  fld_byte_count_msb(fld_tweak_words(ctx)) >= 0
<S>  New C7:  true
-S-  Applied substitution rule skein_start__rules(52).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u32__last by:
          4294967295.
<S>  New H20:  fld_byte_count_msb(fld_tweak_words(ctx)) <= 4294967295
<S>  New C8:  true
-S-  Applied substitution rule skein_start__rules(57).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__first by:
          0.
<S>  New H21:  fld_byte_count_lsb(fld_tweak_words(ctx)) >= 0
<S>  New C9:  true
-S-  Applied substitution rule skein_start__rules(58).
     This was achieved by replacing all occurrences of 
          spark__unsigned__u64__last by:
          18446744073709551615.
<S>  New H22:  fld_byte_count_lsb(fld_tweak_words(ctx)) <= 18446744073709551615
<S>  New C10:  true
***  Proved C3:  true
***  Proved C4:  true
***  Proved C5:  true
***  Proved C6:  true
***  Proved C7:  true
***  Proved C8:  true
***  Proved C9:  true
***  Proved C10:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_start_new_type_2.  @@@@@@@@@@
---  Hypothesis H23 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H24 has been replaced by "true".  (It is already present, as H3)
          .
-S-  Applied substitution rule skein_start__rules(7).
     This was achieved by replacing all occurrences of natural__first by:
          0.
<S>  New H6:  fld_byte_count(ctx) >= 0
<S>  New C1:  true
-S-  Applied substitution rule skein_start__rules(8).
     This was achieved by replacing all occurrences of natural__last by:
          2147483647.
<S>  New H7:  fld_byte_count(ctx) <= 2147483647
<S>  New C2:  true
***  Proved C1:  true
***  Proved C2:  true
***  PROVED VC.


@@@@@@@@@@  VC: procedure_skein_start_new_type_3.  @@@@@@@@@@
---  Hypothesis H23 has been replaced by "true".  (It is already present, as H2)
          .
---  Hypothesis H24 has been replaced by "true".  (It is already present, as H3)
          .
%%%  Simplified C1 on reading formula in, to give:
     %%%  C1:  true
%%%  Simplified C2 on reading formula in, to give:
     %%%  C2:  true
%%%  Simplified C3 on reading formula in, to give:
     %%%  C3:  true
***  Proved C1:  true
***  Proved C2:  true
***  Proved C3:  true
***  PROVED VC.

