3 SourceOf(Variant): Manuscript
7 ! x : (x ~= SourceOf(VariantOf(x))) => ? y : CopiedBy(y,x) & VariantOf(y) = VariantOf(x).
10 procedure check(sample) {
11 stdoptions.groundwithbounds=false
12 stdoptions.symmetrybreaking='static'
13 idpintern.setvocabulary(sample,V1)
14 return onemodel(T1,sample)
17 procedure findGroupings(samples) {
19 for _,sample in ipairs(samples) do
20 -- Find out whether the sample fits the stemma.
21 local model = check(sample)
23 table.insert(result,{ getGrouping(model), true })
25 table.insert(result,{ getGrouping(sample), false })
31 procedure getGrouping(model) {
33 for tuple in tuples(model[V::VariantOf].graph.ct) do
34 local manuscript, variant = tuple[1], tuple[2]
35 if grouping[variant] == nil then
36 grouping[variant] = {manuscript}
38 table.insert(grouping[variant],manuscript)