version	U12.1.00
uid	sets.u1-1788085184-0
impl	error
global	9
	0,000005,cset2set,1
	1,000005,pairset,1
	2,000005,domain,1
	3,000005,range,1
	4,000005,inverse,2
	5,000005,seteq,2
	6,000005,setlt,2
	7,000005,setle,2
	8,000005,simage,1

proc cset2set
	local	0,001000,cs
	local	1,000020,result
	local	2,000000,set
	local	3,000000,insert
	declend
	filen	sets.icn
	line	49
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	var	2
	line	52
	colm	17
	synt	any
	invoke	0
	line	52
	colm	11
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	53
	colm	4
	synt	every
	mark0
	var	3
	var	1
	pnull
	var	0
	line	53
	colm	25
	synt	any
	bang
	line	53
	colm	16
	synt	any
	invoke	2
	pop
lab L3
	efail
lab L4
	line	53
	colm	4
	synt	endevery
	unmark
lab L2
	mark	L5
	mark	L6
	var	1
	line	55
	colm	4
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	57
	colm	1
	synt	any
	pfail
	end
proc pairset
	local	0,001000,T
	local	1,000000,set
	local	2,000000,sort
	declend
	line	59
	colm	11
	synt	any
	mark	L1
	mark	L2
	var	1
	var	2
	var	0
	line	60
	colm	20
	synt	any
	invoke	1
	line	60
	colm	15
	synt	any
	invoke	1
	line	60
	colm	5
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	61
	colm	1
	synt	any
	pfail
	end
proc domain
	local	0,001000,T
	local	1,000020,dom
	local	2,000000,set
	local	3,000000,insert
	local	4,000000,key
	declend
	line	63
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	var	2
	line	66
	colm	15
	synt	any
	invoke	0
	line	66
	colm	9
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	67
	colm	5
	synt	every
	mark0
	var	3
	var	1
	var	4
	var	0
	line	67
	colm	26
	synt	any
	invoke	1
	line	67
	colm	17
	synt	any
	invoke	2
	pop
lab L3
	efail
lab L4
	line	67
	colm	5
	synt	endevery
	unmark
lab L2
	mark	L5
	mark	L6
	var	1
	line	68
	colm	5
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	69
	colm	1
	synt	any
	pfail
	end
proc range
	local	0,001000,T
	local	1,000020,ran
	local	2,000000,set
	local	3,000000,insert
	declend
	line	71
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	var	2
	line	74
	colm	15
	synt	any
	invoke	0
	line	74
	colm	9
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	75
	colm	5
	synt	every
	mark0
	var	3
	var	1
	pnull
	var	0
	line	75
	colm	23
	synt	any
	bang
	line	75
	colm	17
	synt	any
	invoke	2
	pop
lab L3
	efail
lab L4
	line	75
	colm	5
	synt	endevery
	unmark
lab L2
	mark	L5
	mark	L6
	var	1
	line	76
	colm	5
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	77
	colm	1
	synt	any
	pfail
	end
proc inverse
	local	0,001000,T
	local	1,001000,Default
	local	2,000020,inv
	local	3,000020,delem
	local	4,000020,relem
	local	5,000000,table
	local	6,000000,key
	local	7,000000,type
	local	8,000000,member
	local	9,000000,put
	local	10,000000,insert
	local	11,000000,set
	con	0,010000,4,154,151,163,164
	con	1,010000,3,163,145,164
	declend
	line	79
	colm	11
	synt	any
	mark	L1
	pnull
	var	2
	var	5
	var	1
	line	82
	colm	17
	synt	any
	invoke	1
	line	82
	colm	9
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	83
	colm	5
	synt	every
	mark0
	pnull
	var	3
	var	6
	var	0
	line	83
	colm	23
	synt	any
	invoke	1
	line	83
	colm	17
	synt	any
	asgn
	pop
	mark0
	line	84
	colm	9
	synt	ifelse
	mark	L5
	pnull
	var	7
	var	1
	line	84
	colm	16
	synt	any
	invoke	1
	str	0
	line	84
	colm	26
	synt	any
	lexeq
	unmark
	line	85
	colm	11
	synt	ifelse
	mark	L7
	var	8
	var	2
	pnull
	var	4
	pnull
	var	0
	var	3
	line	85
	colm	36
	synt	any
	subsc
	line	85
	colm	32
	synt	any
	asgn
	line	85
	colm	20
	synt	any
	invoke	2
	unmark
	var	9
	pnull
	var	2
	var	4
	line	86
	colm	20
	synt	any
	subsc
	var	3
	line	86
	colm	16
	synt	any
	invoke	2
	goto	L8
lab L7
	pnull
	pnull
	var	2
	var	4
	line	87
	colm	19
	synt	any
	subsc
	pnull
	var	3
	line	87
	colm	30
	synt	any
	llist	1
	line	87
	colm	27
	synt	any
	asgn
lab L8
	line	85
	colm	11
	synt	endifelse
	goto	L6
lab L5
	line	88
	colm	14
	synt	ifelse
	mark	L9
	pnull
	var	7
	var	1
	line	88
	colm	21
	synt	any
	invoke	1
	str	1
	line	88
	colm	31
	synt	any
	lexeq
	unmark
	line	89
	colm	11
	synt	ifelse
	mark	L11
	var	8
	var	2
	pnull
	var	4
	pnull
	var	0
	var	3
	line	89
	colm	36
	synt	any
	subsc
	line	89
	colm	32
	synt	any
	asgn
	line	89
	colm	20
	synt	any
	invoke	2
	unmark
	var	10
	pnull
	var	2
	var	4
	line	90
	colm	23
	synt	any
	subsc
	var	3
	line	90
	colm	19
	synt	any
	invoke	2
	goto	L12
lab L11
	pnull
	pnull
	var	2
	var	4
	line	91
	colm	19
	synt	any
	subsc
	var	11
	pnull
	var	3
	line	91
	colm	34
	synt	any
	llist	1
	line	91
	colm	33
	synt	any
	invoke	1
	line	91
	colm	27
	synt	any
	asgn
lab L12
	line	89
	colm	11
	synt	endifelse
	goto	L10
lab L9
	pnull
	pnull
	var	2
	pnull
	var	0
	var	3
	line	92
	colm	19
	synt	any
	subsc
	line	92
	colm	17
	synt	any
	subsc
	var	3
	line	92
	colm	28
	synt	any
	asgn
lab L10
	line	88
	colm	14
	synt	endifelse
lab L6
	line	84
	colm	9
	synt	endifelse
	unmark
lab L3
	efail
lab L4
	line	83
	colm	5
	synt	endevery
	unmark
lab L2
	mark	L13
	mark	L14
	var	2
	line	94
	colm	5
	synt	any
	pret
lab L14
	synt	any
	pfail
	unmark
lab L13
	pnull
	line	95
	colm	1
	synt	any
	pfail
	end
proc seteq
	local	0,001000,set1
	local	1,001000,set2
	local	2,000020,x
	local	3,000000,member
	declend
	line	97
	colm	11
	synt	any
	mark	L1
	line	100
	colm	4
	synt	if
	mark0
	pnull
	pnull
	var	0
	line	100
	colm	7
	synt	any
	size
	pnull
	var	1
	line	100
	colm	16
	synt	any
	size
	line	100
	colm	13
	synt	any
	numne
	unmark
	line	100
	colm	27
	synt	any
	pfail
	line	100
	colm	4
	synt	endif
	unmark
lab L1
	mark	L2
	line	101
	colm	4
	synt	every
	mark0
	pnull
	var	2
	pnull
	var	0
	line	101
	colm	15
	synt	any
	bang
	line	101
	colm	12
	synt	any
	asgn
	pop
	mark0
	line	102
	colm	7
	synt	if
	mark0
	mark	L5
	var	3
	var	1
	var	2
	line	102
	colm	20
	synt	any
	invoke	2
	unmark
	efail
lab L5
	pnull
	unmark
	line	102
	colm	35
	synt	any
	pfail
	line	102
	colm	7
	synt	endif
	unmark
lab L3
	efail
lab L4
	line	101
	colm	4
	synt	endevery
	unmark
lab L2
	mark	L6
	mark	L7
	var	1
	line	103
	colm	4
	synt	any
	pret
lab L7
	synt	any
	pfail
	unmark
lab L6
	pnull
	line	105
	colm	1
	synt	any
	pfail
	end
proc setlt
	local	0,001000,set1
	local	1,001000,set2
	local	2,000020,x
	local	3,000000,member
	declend
	line	107
	colm	11
	synt	any
	mark	L1
	line	110
	colm	4
	synt	if
	mark0
	pnull
	pnull
	var	0
	line	110
	colm	7
	synt	any
	size
	pnull
	var	1
	line	110
	colm	16
	synt	any
	size
	line	110
	colm	13
	synt	any
	numge
	unmark
	line	110
	colm	27
	synt	any
	pfail
	line	110
	colm	4
	synt	endif
	unmark
lab L1
	mark	L2
	line	111
	colm	4
	synt	every
	mark0
	pnull
	var	2
	pnull
	var	0
	line	111
	colm	15
	synt	any
	bang
	line	111
	colm	12
	synt	any
	asgn
	pop
	mark0
	line	112
	colm	7
	synt	if
	mark0
	mark	L5
	var	3
	var	1
	var	2
	line	112
	colm	20
	synt	any
	invoke	2
	unmark
	efail
lab L5
	pnull
	unmark
	line	112
	colm	35
	synt	any
	pfail
	line	112
	colm	7
	synt	endif
	unmark
lab L3
	efail
lab L4
	line	111
	colm	4
	synt	endevery
	unmark
lab L2
	mark	L6
	mark	L7
	var	1
	line	113
	colm	4
	synt	any
	pret
lab L7
	synt	any
	pfail
	unmark
lab L6
	pnull
	line	115
	colm	1
	synt	any
	pfail
	end
proc setle
	local	0,001000,set1
	local	1,001000,set2
	local	2,000020,x
	local	3,000000,member
	declend
	line	118
	colm	11
	synt	any
	mark	L1
	line	121
	colm	4
	synt	if
	mark0
	pnull
	pnull
	var	0
	line	121
	colm	7
	synt	any
	size
	pnull
	var	1
	line	121
	colm	15
	synt	any
	size
	line	121
	colm	13
	synt	any
	numgt
	unmark
	line	121
	colm	26
	synt	any
	pfail
	line	121
	colm	4
	synt	endif
	unmark
lab L1
	mark	L2
	line	122
	colm	4
	synt	every
	mark0
	pnull
	var	2
	pnull
	var	0
	line	122
	colm	15
	synt	any
	bang
	line	122
	colm	12
	synt	any
	asgn
	pop
	mark0
	line	123
	colm	7
	synt	if
	mark0
	mark	L5
	var	3
	var	1
	var	2
	line	123
	colm	20
	synt	any
	invoke	2
	unmark
	efail
lab L5
	pnull
	unmark
	line	123
	colm	35
	synt	any
	pfail
	line	123
	colm	7
	synt	endif
	unmark
lab L3
	efail
lab L4
	line	122
	colm	4
	synt	endevery
	unmark
lab L2
	mark	L6
	mark	L7
	var	1
	line	124
	colm	4
	synt	any
	pret
lab L7
	synt	any
	pfail
	unmark
lab L6
	pnull
	line	126
	colm	1
	synt	any
	pfail
	end
proc simage
	local	0,001000,set
	local	1,000020,result
	local	2,000000,image
	con	0,010000,0
	con	1,010000,2,054,040
	con	2,010000,2,173,040
	con	3,002000,1,1
	con	4,002000,1,2
	con	5,010000,2,040,175
	declend
	line	128
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	str	0
	line	131
	colm	11
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	133
	colm	4
	synt	every
	mark0
	pnull
	var	1
	dup
	pnull
	var	2
	pnull
	var	0
	line	133
	colm	28
	synt	any
	bang
	line	133
	colm	27
	synt	any
	invoke	1
	str	1
	line	133
	colm	34
	synt	any
	cat
	line	133
	colm	17
	synt	any
	cat
	asgn
	pop
lab L3
	efail
lab L4
	line	133
	colm	4
	synt	endevery
	unmark
lab L2
	mark	L5
	mark	L6
	pnull
	pnull
	str	2
	pnull
	var	1
	int	3
	pnull
	int	4
	line	135
	colm	28
	synt	any
	neg
	line	135
	colm	27
	synt	any
	synt	any
	sect
	line	135
	colm	16
	synt	any
	cat
	str	5
	line	135
	colm	32
	synt	any
	cat
	line	135
	colm	4
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	137
	colm	1
	synt	any
	pfail
	end
