src/Pure/thm_name.scala
changeset 75393 87ebf5a50283
parent 70580 e6101f131d0d
child 79376 b275e3379024
equal deleted inserted replaced
75388:b3ca4a6ed74b 75393:87ebf5a50283
     8 
     8 
     9 
     9 
    10 import scala.math.Ordering
    10 import scala.math.Ordering
    11 
    11 
    12 
    12 
    13 object Thm_Name
    13 object Thm_Name {
    14 {
    14   object Ordering extends scala.math.Ordering[Thm_Name] {
    15   object Ordering extends scala.math.Ordering[Thm_Name]
       
    16   {
       
    17     def compare(thm_name1: Thm_Name, thm_name2: Thm_Name): Int =
    15     def compare(thm_name1: Thm_Name, thm_name2: Thm_Name): Int =
    18       thm_name1.name compare thm_name2.name match {
    16       thm_name1.name compare thm_name2.name match {
    19         case 0 => thm_name1.index compare thm_name2.index
    17         case 0 => thm_name1.index compare thm_name2.index
    20         case ord => ord
    18         case ord => ord
    21       }
    19       }
    30       case Thm_Name_Regex(name, Value.Nat(index)) => Thm_Name(name, index)
    28       case Thm_Name_Regex(name, Value.Nat(index)) => Thm_Name(name, index)
    31       case _ => Thm_Name(s, 0)
    29       case _ => Thm_Name(s, 0)
    32     }
    30     }
    33 }
    31 }
    34 
    32 
    35 sealed case class Thm_Name(name: String, index: Int)
    33 sealed case class Thm_Name(name: String, index: Int) {
    36 {
       
    37   def print: String =
    34   def print: String =
    38     if (name == "" || index == 0) name
    35     if (name == "" || index == 0) name
    39     else name + "(" + index + ")"
    36     else name + "(" + index + ")"
    40 
    37 
    41   def flatten: String =
    38   def flatten: String =