A.4.10 String Comparison
Static Semantics
The library function 
Strings.Equal_Case_Insensitive has the following declaration:
function Ada.Strings.Equal_Case_Insensitive (Left, Right : String)
   return Boolean;
pragma Pure(Ada.Strings.Equal_Case_Insensitive);
 
Returns True if 
the strings consist of the same sequence of characters after applying 
locale-independent simple case folding, as defined by documents referenced 
in the note in Clause 1 of ISO/IEC 10646:2011. Otherwise, returns False. 
This function uses the same method as is used to determine whether two 
identifiers are the same.
The library function 
Strings.Fixed.Equal_Case_Insensitive has the following declaration:
with Ada.Strings.Equal_Case_Insensitive;
function Ada.Strings.Fixed.Equal_Case_Insensitive
   (Left, Right : String) 
return Boolean
      
renames Ada.Strings.Equal_Case_Insensitive;
 
The generic library 
function Strings.Bounded.Equal_Case_Insensitive has the following declaration:
generic
   with package Bounded 
is
      new Ada.Strings.Bounded.Generic_Bounded_Length (<>);
function Ada.Strings.Bounded.Equal_Case_Insensitive
   (Left, Right : Bounded.Bounded_String) 
return Boolean;
pragma Preelaborate(Ada.Strings.Bounded.Equal_Case_Insensitive);
 
Equivalent to Strings.Equal_Case_Insensitive 
(Bounded.To_String (Left), Bounded.To_String (Right)); 
The library function 
Strings.Unbounded.Equal_Case_Insensitive has the following declaration:
function Ada.Strings.Unbounded.Equal_Case_Insensitive
   (Left, Right : Unbounded_String) 
return Boolean;
pragma Preelaborate(Ada.Strings.Unbounded.Equal_Case_Insensitive);
 
Equivalent to Strings.Equal_Case_Insensitive 
(To_String (Left), To_String (Right)); 
 The library function 
Strings.Less_Case_Insensitive has the following declaration:
function Ada.Strings.Less_Case_Insensitive (Left, Right : String)
   return Boolean;
pragma Pure(Ada.Strings.Less_Case_Insensitive);
 
Performs a lexicographic 
comparison of strings Left and Right, converted to lower case. 
 The library function 
Strings.Fixed.Less_Case_Insensitive has the following declaration:
with Ada.Strings.Less_Case_Insensitive;
function Ada.Strings.Fixed.Less_Case_Insensitive
   (Left, Right : String) 
return Boolean
      
renames Ada.Strings.Less_Case_Insensitive;
 
 The generic library 
function Strings.Bounded.Less_Case_Insensitive has the following declaration:
generic
   with package Bounded 
is
      new Ada.Strings.Bounded.Generic_Bounded_Length (<>);
function Ada.Strings.Bounded.Less_Case_Insensitive
  (Left, Right : Bounded.Bounded_String) 
return Boolean;
pragma Preelaborate(Ada.Strings.Bounded.Less_Case_Insensitive);
 
Equivalent to Strings.Less_Case_Insensitive 
(Bounded.To_String (Left), Bounded.To_String (Right)); 
 The library function 
Strings.Unbounded.Less_Case_Insensitive has the following declaration:
function Ada.Strings.Unbounded.Less_Case_Insensitive
  (Left, Right : Unbounded_String) 
return Boolean;
pragma Preelaborate(Ada.Strings.Unbounded.Less_Case_Insensitive);
 
Equivalent to Strings.Less_Case_Insensitive 
(To_String (Left), To_String (Right)); 
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe