{
	".source.classicalb": {
	  "MACHINE": {
		"prefix": "MACHINE ...",
		"body": "MACHINE ${1:MyMachine}\nCONSTANTS ${2:c}\nPROPERTIES ${3:c : 1..10 }\nVARIABLES ${4:x}\nINVARIANT ${5:x : 1..c}\nINITIALISATION ${6:x := 1}\nOPERATIONS \n  Inc = SELECT x < c THEN x := x + 1 END\nEND//MACHINE"
	  },
	  "package pragma": {
		"prefix": "package",
		"body": "/*@package ${1:foo.bar} */"
	  },
	  "import-package pragma": {
		"prefix": "import-package",
		"body": "/*@import-package ${1:foo.bazz} */"
	  },
	  "OPERATIONS Keyword": {
		"prefix": "OPERATIONS",
		"body": "OPERATIONS"
	  },
	  "DEFINITIONS Keyword": {
		"prefix": "DEFINITIONS",
		"body": "DEFINITIONS"
	  },
	  "VARIABLES": {
		"prefix": "VARIABLES",
		"body": "VARIABLES\n\t${1:x}\nINVARIANT\n\t${2:P}\nINITIALISATION\n\t${4:I}"
	  },
	  "CONSTANTS": {
		"prefix": "CONSTANTS",
		"body": "CONSTANTS\n\t${1:c}\nPROPERTIES\n\t${2:P}"
	  },
	  "ASSERTIONS": {
		"prefix": "ASSERTIONS",
		"body": "ASSERTIONS\n\t${1:a}"
	  },
	  "WHILE": {
		"prefix": "while",
		"body": "WHILE ${1:p}\nDO\n\t${2:G}\nINVARIANT ${3:Q}\nVARIANT ${4:E}\nEND"
	  },
	  "PRE Template": {
		"prefix": "PRE",
		"body": "PRE ${1:p}\nTHEN\n\t${2:G}\nEND"
	  },
	  "VAR": {
		"prefix": "var",
		"body": "VAR ${1:z}\nIN\n\t${2:G}\nEND"
	  },
	  "ANY": {
		"prefix": "any",
		"body": "ANY ${1:z}\nWHERE\n\t${2:P}\nTHEN\n\t${3:G}\nEND"
	  },
	  "LET": {
		"prefix": "let",
		"body": "LET ${1:x}\nBE ${2:E}\nIN\n\t${3:G}\nEND"
	  },
	  "IF": {
		"prefix": "if",
		"body": "IF ${1:p}\nTHEN\n\t${2:G}\nEND"
	  },
	  "IF ... ELSE": {
		"prefix": "ifelse",
		"body": "IF ${1:p}\nTHEN\n\t${2:G}\nELSE\n\t${2:H}\nEND"
	  },
	  "CHOICE": {
		"prefix": "choice",
		"body": "CHOICE\n\t${1:G}\nOR\n\t${2:H}\nEND"
	  },
	  "SELECT": {
		"prefix": "select",
		"body": "SELECT\n\t${1:p}\nTHEN\n\t${2:G}\nEND"
	  },
	  "SELECT ... ELSE": {
		"prefix": "selectelse",
		"body": "SELECT ${1:p}\nTHEN\n\t${2:G}\nWHEN ${3:q}\nTHEN\n\t${4:H}\nELSE\n\t${5:E}\nEND"
	  },
	  "CASE": {
		"prefix": "choice",
		"body": "CHOICE\n\t${1:G}\nOR\n\t${2:H}\nEND"
	  },
	  "TRUE":{
		"prefix": "TRUE",
		"body": "TRUE"
	  }, 
	  "FALSE":{
		"prefix": "FALSE",
		"body": "FALSE"
	  }, 
	  
	  "Set Pref MININT": {
		"prefix": "set minint",
		"body": "SET_PREF_MININT == ${1:n};"
	  },
	  "Set Pref MAXINT": {
		"prefix": "set minint",
		"body": "SET_PREF_MININT == ${1:n};"
	  },
	  "B:INT": {
		"prefix": "INT",
		"body": "INT;"
	  },
	  "B:INTEGER": {
		"prefix": "INTEGER",
		"body": "INTEGER"
	  },
	  "B:NAT": {
		"prefix": "NAT",
		"body": "NAT"
	  },
	  "B:NATURAL": {
		"prefix": "NATURAL",
		"body": "NATURAL"
	  },
	  "B: -->": {
		"prefix": "funcTotal",
		"body": "-->"
	  },
	  "B: >->": {
		"prefix": "funcTotalInjection",
		"body": ">->"
	  },
	  "B: -->>": {
		"prefix": "funcTotalSurjection",
		"body": ">->"
	  },
	  "B: >->>": {
		"prefix": "funcTotalBijection",
		"body": ">->>"
	  },
	  "B: +->": {
		"prefix": "funcPartial",
		"body": "+->"
	  },
	  "B: >+>": {
		"prefix": "funcPartialInjection",
		"body": "+->>"
	  },
	  "B: >+>>": {
		"prefix": "funcBijection",
		"body": ">+>>"
	  }
	}
  }