User types

Here is explained how to create your own structure via using Pruvendo tools. For example you want to create structures, which can be describe like:

struct Person {
    string name;
    string surName;
    uint age;

Ok, now we can create the folowing structure in Ursus:

Inductive PersonFields := 
| Person_ι_name 
| Person_ι_surName 
| Person_ι_age
Definition PersonL := [string : Type ; string : Type ; uint : Type]%glist.
GlobalGeneratePruvendoRecord PersonL PersonFields.

And using command GlobalGeneratePruvendoRecord we can create new type, which will be called in this example as PersonLRecord. Literal can be expressed like [{"John"}, {"Smith"}, {42}].

Finally, let's sat that way of expressing structures is not recomended, so it is better to use Contract command which expressed here